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