Python-re模块中的正则表达式是否支持单词边界(\ b)?

在尝试学习更多有关正则表达式的知识时,一个教程建议你可以使用\b来匹配单词边界。但是,Python解释器中的以下代码片段无法按预期工作:

>>> x = 'one two three'

>>> y = re.search("\btwo\b", x)

如果有任何匹配项,它应该是一个匹配对象,但它是None

\bpython不支持该表达式吗?还是我使用错误?

回答:

你为什么不尝试

word = 'two'

re.compile(r'\b%s\b' % word, re.I)

输出:

>>> word = 'two'

>>> k = re.compile(r'\b%s\b' % word, re.I)

>>> x = 'one two three'

>>> y = k.search( x)

>>> y

<_sre.SRE_Match object at 0x100418850>

还忘了提及,你应该在代码中使用原始字符串

>>> x = 'one two three'

>>> y = re.search(r"\btwo\b", x)

>>> y

<_sre.SRE_Match object at 0x100418a58>

>>>

以上是 Python-re模块中的正则表达式是否支持单词边界(\ b)? 的全部内容, 来源链接: utcz.com/qa/424674.html

回到顶部