python中的re.sub:详细模式不适用于替换模式?

时间:2015-04-28 23:16:28

标签: python regex replace

有没有办法解决re.sub的这个限制?对于替换模式中的详细模式(此处带后向引用),它不是完全有效的;它不会消除空格或评论(但它确实正确地解释了反向引用)。

import remport re

ft1=r"""(?P<test>[0-9]+)"""
ft2=r"""\g<test>and then: \g<test> #this remains"""

print re.sub(ft1,ft2,"front 1234 back",flags=re.VERBOSE) #Does not work 
#result: front 1234and then: 1234 #this remains back

re.VERBOSE不适用于替换模式......是否有解决方法? (比在re.match之后使用组更简单。)

1 个答案:

答案 0 :(得分:0)

您可以先使用re.compile编译正则表达式。 在这里,您可以使用re.VERBOSE标志。 稍后,您可以将这些已编译的表达式作为参数传递给re.sub()