我正在使用正则表达式来重写一些 URL。我需要用 & 替换 URL 中的所有 & 符号 但不是当 & 号已经开始一个 & 发生。所以我最终得到了这个:
search: (^[^&]*?)&((?!amp;)[^W]*?.htm)
replace: $1&$2
哪个转变了:
Bob_&_Carol.htm
进入:
Bob_&_Carol.htm
但这仅适用于第一个&符号,并且在多个&符号上失败,仅转换第一次出现。
Bob_&_Carol_&_Alice.htm
进入:
Bob_&_Carol_&_Alice.htm
所以我修改了匹配表达式以找到多个&符号:
^(?:([^&]*?)&(?!amp;))*([^W]*?.htm)
但我不知道如何编写替换字符串来处理多个捕获。如何编写替换字符串来替换所有捕获?