【问题标题】:How do I search and replace a pattern in text using regular expression in Python 3?如何在 Python 3 中使用正则表达式搜索和替换文本中的模式?
【发布时间】:2026-02-13 04:20:04
【问题描述】:

如何在 Python 3 中使用正则表达式搜索和替换文本中的模式?

import re
text = "|105_Oldtext1.1|309_Oldtext1.1|367_Newtext1.6|413_Newtext1.6|"
result = re.sub("105_*", "105_Newtext1.6", text)
print(result)

我得到的结果是:

"|105_Newtext1.6Oldtext1.1|309_Oldtext1.1|367_Newtext1.6|413_Newtext1.6|"

我想用 105_Newtext1.6 替换 105_(whatever text)

【问题讨论】:

    标签: regex search python-3.x replace


    【解决方案1】:

    * 在这里不是通配符;)您可能需要它:

    import re
    text = "|105_Oldtext1.1|309_Oldtext1.1|367_Newtext1.6|413_Newtext1.6|"
    result = re.sub("105_[^|]*", "105_Newtext1.6", text)
    print(result)
    

    * 表示前一个字符重复 0 次或多次。因此,[^|]* 表示任何不是管道字符的字符被重复 0 次或多次。

    【讨论】: