【发布时间】:2017-01-25 20:30:06
【问题描述】:
我有一个包含以下输入的文件:
xa%1bc
ba%1bc
.
.
等等。我想使用match 和regex 来识别其中包含a%1b 的行。
我正在使用
import re
p1 = re.compile(r'\ba%1b\b', flags=re.I)
if re.match(p1,linefromfile):
continue
它似乎没有检测到带有 %1 的行。问题是什么?谢谢
【问题讨论】:
-
问题是
\b围绕您的模式。它代表“单词边界”,因此它与您的任何示例都不匹配。此外,您不需要正则表达式来简单地检查子字符串。 -
有几个问题。首先你应该只是be using
in。其次,您正在检查不存在的单词边界。第三,当you needsearchto look in the whole string 时,您只查看带有match的字符串的开头。
标签: python regex string match word-boundary