首先: 我真的不确定我是否正确理解您的问题。 对于从 fms2=1000
替换为 fms2=30000
的静态字符串, 您不必使用 Regex 。 “ 正常” 字符串替换也会这样做。 但我猜还有更多。 您使用哪种语言?
第二,“关闭安全模式会因为饼干的替换而恢复安全模式”是什么意思?你想要换掉逻辑吗?“关闭”实际上是“打开”还是“打开”呢?
第三:你的数据中是否有像 URL 编码这样的额外修改, 你可能不知道?
UPDATE:
My guess for the regex is (PCRE syntax - I am not so familiar with C++)
/^(?=PREF=)(.*?(?:PREF=|&)fms2=).*?($|&.*)/
替换为
$130000$2
这符合
PREF=f1=50000000&fms2=10000&fms1=30000&fv=10.3.183
PREF=f1=50000000&fms2=&fms1=30000&fv=10.3.183
PREF=f1=50000000&fms1=30000&fv=10.3.183&fms2=123
PREF=fms2=123&f1=50000000&fms1=30000&fv=10.3.183
但听起来这不仅仅是个正负问题,不是吗?请告诉我,如果你面临问题或需要解释模式,请告诉我。