Python正则表达式替换字符串

标签 python regex

我有以下代码:

 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正则表达式替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31048492/

相关文章:

python - 使用 dictreader 在 python 中连接两个 CSV 文件

javascript - 如何删除ajax响应函数中的li元素

python - 从同一个类调用方法

javascript - 如何验证文本框中的特殊字符并在错误消息中显示输入的特殊字符?

c# - 正则表达式:匹配任何文本后跟特定封闭格式的模式

c# - 正则表达式模式来获取方括号之间的所有数字?

regex - 如何配置我的正则表达式点以匹配换行符?

python - 如何使用 re 获取具有相似格式的多个变量?

regex - 仅使用 regxp 是否可以匹配出现多次的任何宽字符?

python - 从 URL 读取 ZipFile 到 StringIO 并用 panda.read_csv 解析