有没有一种直接使用正则表达式语法替换所有分组的方法?
正常的方式:
正常的方式:
re.match(r"(?:aaa)(_bbb)", string1).group(1)
但我希望能够实现类似于这样的效果:
re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)")
我希望能立即从正则表达式捕获的组中构建新字符串。
1(r2(r))r3(4(r)5(6(r)r))
。 - Martin Ender(?P<group-name><pattern>)
,然后以这种方式引用它们:\g<group-name>
。在我看来,这是最方便的方法。 - Playing With BI*
后面加上?
并不意味着可选,而是使*
变成非贪婪模式。话虽如此,在这种情况下仍然是不必要的(甚至可能是个坏主意),但我只是重用了问题中精确的正则表达式,因为重点在于替换。 - Martin Ender