正则表达式中的\b和\w

2020年5月23日 / 4次阅读 / 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条留言

电子邮件地址不会被公开。 必填项已用*标注

  • 麦新杰

    匹配位置的符号还有^和$ [回复]


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top