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

如何用正则检测并替换未编码的%符号(排除%25)

解决方案

要实现只替换未紧跟"25"的%符号,同时保留已编码的%25,可以利用正则表达式的负向先行断言来精准匹配目标字符:

核心正则表达式

%(?!25)

表达式解释

  • %:匹配目标百分号本身
  • (?!25):负向先行断言,确保当前%之后的字符不是"25",以此排除%25中的百分号

替换示例(以Python为例)

假设你需要将这些单独的%替换为编码后的%25,代码如下:

import re

original_str = "this%25is a%string %"
# 替换所有未紧跟"25"的%为%25
modified_str = re.sub(r'%(?!25)', '%25', original_str)

print(modified_str)
# 输出结果:this%25is a%25string %25

效果验证

原字符串中的%25完全保留,而两个单独的%(分别在a和string之间、字符串末尾)都被正确替换为%25,符合需求。

内容的提问来源于stack exchange,提问作者aj soprano

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 13:24:52