首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python re.sub组: number after \number

python re.sub组: number after \number
EN

Stack Overflow用户
提问于 2011-05-13 05:22:25
回答 1查看 102.3K关注 0票数 238

如何用foo123bar替换foobar

这不起作用:

代码语言:javascript
复制
>>> re.sub(r'(foo)', r'\1123', 'foobar')
'J3bar'

这是可行的:

代码语言:javascript
复制
>>> re.sub(r'(foo)', r'\1hi', 'foobar')
'foohibar'

我认为这是一个常见的问题,当有像\number这样的东西。有谁能给我一个关于如何处理这件事的提示吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-13 05:28:31

答案是:

代码语言:javascript
复制
re.sub(r'(foo)', r'\g<1>123', 'foobar')

文档中的相关摘录:

除了如上所述的字符转义和反向引用外,\g还将使用由(?P...)定义的名称组名匹配的子字符串语法。\g使用相应的组号;因此,\g<2>等同于\2,但在\g<2>0等替换项中不会有歧义。\20将被解释为对组20的引用,而不是对组2的引用,后跟文字字符“0”。在与RE.

匹配的整个子字符串中进行反向引用\g<0>替换

票数 396
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5984633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档