Python Regex中的错误?(re.ub与re.MULTILINE)

eac*_*eau 6 python regex

我注意到Python的Regex库中有一些奇怪的行为,我不确定我是否做错了.

如果我使用re.sub()with 运行正则表达式re.MULTILINE.它似乎只取代了前几次出现.如果我re.MULTILINE使用关闭,使用re.subn(..., count = 0, flags = re.MULTILINE)或编译正则表达式,它将替换所有出现的事件re.compile(..., re.MULTILINE).

我在Ubuntu 12.04上运行Python 2.7.

我发布了一个随机的例子:

  • Pastebin.com - 终端输出
  • 键盘 -脚本,确认(除了re.subn(),它是不同上2.5)行为

有人可以在他们的机器上确认/否认这种行为吗?

编辑:已实现我应该继续在Python bug跟踪器上发布此信息.编辑2:报告的问题:http://bugs.python.org/msg168909

jfs*_*jfs 18

使用

re.sub(pattern, replace, text, flags=re.MULTILINE) 
Run Code Online (Sandbox Code Playgroud)

代替

re.sub(pattern, replace, text, re.MULTILINE) 
Run Code Online (Sandbox Code Playgroud)

这相当于

re.sub(pattern, replace, text, count=re.MULTILINE)
Run Code Online (Sandbox Code Playgroud)

这是您的代码中的错误.

re.sub()