我有以下代码:

 a="32<2>fdssa</2>ffdsa32"
 re.sub(r'<(\d+)>|</(\d+)>',"item",a)


我得到的结果是:

32itemfdssaitemffdsa32


我想要结果:

32<item>fdssa</item>ffdsa32

最佳答案

您需要捕获</部分。

re.sub(r'(</?)\d+>',r"\1item>",a)


由于我将/设置为可选,因此(</?)将捕获<</

例:

>>> a="32<2>fdssa</2>ffdsa32"
>>> re.sub(r'(</?)\d+>',r"\1item>",a)
'32<item>fdssa</item>ffdsa32'

关于python - Python正则表达式替换字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31048492/

10-13 05:40