置き換えたいファイルがたくさんある
request.getParameter("thischangesallthetime")
に
stringescapeutils.escapehtml(request.getParameter("thischangesallthetime"));
Notepad++ でこれを行うことはできますか? そして、どの正規表現を使用できますか?
thnx!
探す:
request.getParameter\("(.*?)"\)
交換
stringescapeutils.escapehtml\(request.getParameter\("\1"\)\);
編集:ダンカンが正しく指摘しているように、1行に複数の置換可能な式がある場合、検索正規表現でのマッチングは非貪欲である必要があります。これを考慮して検索正規表現を修正しました。
PS: 次回は、あなたが試したことを教えてください。
m0skit0 の回答はスターターですが、文字列にこれらの値が複数ある場合は変更が必要です。例:
こんにちは request.getParameter("thischangesallthetime") lorem ipsum request.getParameter("foobar") 何とか
この正規表現が必要です:
探す:
request.getParameter\("(.*?)"\)
と置換する:
stringescapeutils.escapehtml(request.getParameter("\1"));
? 正規表現では、貪欲ではありません。それ以外の場合、最初の一致 ('thisvaluechangesallthetime' で) は、2 番目の一致 ('foobar' で) の最後の ") まですべてを取得します。
また、正規表現の置換部分で括弧をエスケープする必要はありません。
? がないと、結果として次のようになります。
hello stringescapeutils.escapehtml(request.getParameter("thischangesallthetime") lorem ipsum request.getParameter("foobar")); blah
escapehtml の括弧が ("foobar") パラメータの後まで終わらないことに注意してください!