re.sub()通配符字符串替换

2024-09-29 22:32:33 发布

您现在位置:Python中文网/ 问答频道 /正文

这是源字符串,它有两个通配符<1><2>,都是任意位数

SomeText<1>_<2>.value

我需要将上面的字符串转换成这个字符串,用<1><2>替换为源字符串中发现的完全相同的数字

SomeOtherText_<2>r962<1>xyz

Tags: 字符串value数字位数xyz通配符sometextsomeothertext
1条回答
网友
1楼 · 发布于 2024-09-29 22:32:33

我猜这个表达式可能会这样做:

import re
regex = r"^.*?<(\d+)>_<(\d+)>.*$"
test_str = """

SomeText<192>_<283>.value
    SomeText<>_<>.value
    SomeOtherText_<192>r962<283>xyz
"""
subst = "SomeOtherText_<\\1>r962<\\2>xyz"

print(re.sub(regex, subst, test_str, 0, re.MULTILINE))

该表达式在regex101.com的右上面板上进行了解释,如果您希望探索/简化/修改它,在this link中,您可以观察它如何与一些示例输入匹配(如果您愿意)

相关问题 更多 >

    热门问题