You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何逐个替换字符串中匹配的每个模式实例?

需求:逐个替换字符串中的匹配模式实例为=REPLACED

需要实现的功能:将目标字符串中的每一个指定模式实例逐个替换为=REPLACED,即每次仅替换一个匹配项,输出对应的结果。

现有实现代码(replace.py)

import re
a = "http://www.blah.com/?=wah?=stuff.something" # 待处理的目标字符串
b = "=" # 要匹配查找的模式
z = a # 创建目标字符串的副本
x = "REPLACED" # 用于替换的内容

if b not in z:
    print("NOT FOUND")
else:
    # 获取所有匹配模式的起始位置
    start_indc = [m.start() for m in re.finditer('(?=' + b + ')', a)]
    for m in range(len(start_indc)):
        print(f"A:{a}")
        print(f"X:{x}")
        print(f"B:{b}")
        print(f"Z:{z}")

        # 执行替换操作
        z = re.sub(b, b + x, z)

        print(f"A:{a}")
        print(f"X:{x}")
        print(f"B:{b}")
        print(f"Z:{z}")

        print("---------------------------------------------------------------")
        del z # 清空当前z变量
        z = a # 将z重置为原始目标字符串

预期输出结果

  • 替换第一个匹配项后的结果:http://www.blah.com/?=REPLACEDwah?=stuff.something
  • 替换第二个匹配项后的结果:http://www.blah.com/?=wah?=REPLACEDstuff.something

内容的提问来源于stack exchange,提问作者bob charliepoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 02:22:17