我注意到Python的Regex库中有一些奇怪的行为,我不确定我是否做错了。
如果我使用re.sub()
使用re.MULTILINE
对其运行正则表达式。它似乎只取代了前几次出现。如果我关闭re.MULTILINE
,使用re.subn(..., count = 0, flags = re.MULTILINE)
或使用re.compile(..., re.MULTILINE)
编译正则表达式,它会替换所有匹配项。
我在Ubuntu 12.04上运行Python 2.7。
我发布了一个随机的例子:
有人可以在他们的机器上确认/拒绝这种行为吗?
编辑:已经实现我应该继续将这个发布在Python bug跟踪器上。 编辑2:报告的问题:http://bugs.python.org/msg168909
答案 0 :(得分:16)
使用
re.sub(pattern, replace, text, flags=re.MULTILINE)
而不是
re.sub(pattern, replace, text, re.MULTILINE)
相当于
re.sub(pattern, replace, text, count=re.MULTILINE)
这是您代码中的错误。
请参阅re.sub()