正規表現を使用して一部の 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)
しかし、複数のキャプチャを処理するために置換文字列を記述する方法がわかりません。すべてのキャプチャを置き換えるために置換文字列を作成するにはどうすればよいですか?