我想在负前瞻范围内有一个词边界。但是,如您在下面的示例中看到的那样,这似乎在Python中不起作用。这不受支持吗?如果是这样,是否有解决方法?

要陈述我要解决的完整问题:我在re.sub中使用了一个正则表达式,并且有几个我想明确不匹配的特定单词(例如“ 455”)。

In [8]: print re.match('(?!455)455', '455')
None

In [9]: print re.match('(?!455\b)455', '455')
<_sre.SRE_Match object at 0x1108fb440>

最佳答案

\b是一个转义序列,因此它将与反斜杠字符ASCII 0x08相匹配。您需要转义反斜杠或使用raw string literals

>>> print(re.match(r'(?!455\b)455', '455'))
None

07-26 00:07