我想在负前瞻范围内有一个词边界。但是,如您在下面的示例中看到的那样,这似乎在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