2020年5月23日 / 196次阅读 / Last Modified 2020年5月23日
re模块
\b中的b,应该是boundary的意思。
\B是\b的反义。
\w中的w,应该是word的意思,表示所有代表单词的符号,在ASCII中,就是[0-9a-zA-Z_]这些。
\W是\w的反义。
\b匹配的是空串,确切的说,它匹配一个位置,这个位置处于\w和\W之间。
>>> re.search(r'[^\w]foo[^\w]', '(foo)')
<re.Match object; span=(0, 5), match='(foo)'>
>>> re.search(r'\bfoo\b', '(foo)')
<re.Match object; span=(1, 4), match='foo'>
从这个示例可以看出,不能使用[^\w]来代替\b。(关于正则表达式前的r)
\b匹配位置,匹配空串,[^\w]匹配一个非\w字符。
-- EOF --
本文链接:https://www.pynote.net/archives/1962
《正则表达式中的\b和\w》有1条留言
前一篇:字符串前的r
后一篇:正则表达式中的\s和\d
Ctrl+D 收藏本页
©Copyright 麦新杰 Since 2019 Python笔记
匹配位置的符号还有^和$ [ ]