python re.sub group: number after umber(python re.sub 组:umber 之后的数字)
问题描述
如何将 foobar
替换为 foo123bar
?
这不起作用:
>>> re.sub(r'(foo)', r'1123', 'foobar')
'J3bar'
这行得通:
>>> re.sub(r'(foo)', r'1hi', 'foobar')
'foohibar'
我认为当有
umber
之类的内容时,这是一个常见问题.谁能给我一个关于如何处理这个问题的提示?
I think it's a common issue when having something like
umber
. Can anyone give me a hint on how to handle this?
推荐答案
答案是:
re.sub(r'(foo)', r'g<1>123', 'foobar')
文档的相关摘录:
除了字符转义和如上所述的反向引用,g 将使用子字符串由名为 name 的组匹配,如由 (?P...) 语法定义.g 使用对应的组号;g<2> 因此是等价于 2,但不是模棱两可的在诸如g<2>0之类的替换中.20将被解释为参考第 20 组,不是对第 2 组的引用后跟文字字符0".反向引用 g<0> 替换为匹配的整个子字符串回复.
In addition to character escapes and backreferences as described above, g will use the substring matched by the group named name, as defined by the (?P...) syntax. g uses the corresponding group number; g<2> is therefore equivalent to 2, but isn’t ambiguous in a replacement such as g<2>0. 20 would be interpreted as a reference to group 20, not a reference to group 2 followed by the literal character '0'. The backreference g<0> substitutes in the entire substring matched by the RE.
这篇关于python re.sub 组: umber 之后的数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:python re.sub 组: umber 之后的数字
基础教程推荐
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 筛选NumPy数组 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01