Python Regex立即替换组

2020/11/30 22:11 · python ·  · 0评论

有没有办法使用正则表达式语法直接替换所有组?

正常方式:

re.match(r"(?:aaa)(_bbb)", string1).group(1)

但我想实现以下目标:

re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)")

我想从正则表达式刚刚捕获的组中立即构建新字符串。

看一下re.sub

result = re.sub(r"(\d.*?)\s(\d.*?)", r"\1 \2", string1)

这是Python的正则表达式替换(替换)功能。替换字符串可以用所谓的反向引用(反斜杠,组号)填充,这些反向引用由组匹配的内容替换。该组的计数与该group(...)函数的计数相同,即1,从,从左到右,以括号开头。

公认的答案是完美的。我想补充一点,使用以下语法可能会更好地实现组引用:

r"\g<1> \g<2>"

用于替换字符串。这样,您就可以解决语法限制,在语法限制中,组后面可以跟数字。再说一次,这一切都存在于文档中,没有什么新意,只是有时很难一眼看出来。

本文地址:http://python.askforanswer.com/python-regexlijitihuanzu.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!