Python Regex 立即替换组
- 2025-03-10 08:52:00
- admin 原创
- 55
问题描述:
有没有办法使用正则表达式语法直接替换所有组?
正常方式:
re.match(r"(?:aaa)(_bbb)", string1).group(1)
但我想实现这样的目标:
re.match(r"(d.*?)s(d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)")
我想根据 Regex 刚刚捕获的组立即构建新的字符串。
解决方案 1:
请看一下re.sub
:
result = re.sub(r"(d.*?)s(d.*?)", r" ", string1)
这是 Python 的正则表达式替换 (replace) 函数。替换字符串可以用所谓的反向引用 (反斜杠、组号) 填充,这些引用将替换为组匹配的内容。组的计数方式与group(...)
函数相同,即从 开始1
,从左到右,通过打开括号。
解决方案 2:
接受的答案是完美的。我想补充一点,使用以下语法可能更好地实现组引用:
r"g<1> g<2>"
用于替换字符串。这样,您就可以解决语法限制,即组后面可能跟着一个数字。同样,这一切都在文档中,没有什么新东西,只是有时乍一看很难发现。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD