0

置き換えたいファイルがたくさんある

request.getParameter("thischangesallthetime") 

stringescapeutils.escapehtml(request.getParameter("thischangesallthetime")); 

Notepad++ でこれを行うことはできますか? そして、どの正規表現を使用できますか?

thnx!

4

2 に答える 2

0

探す:

request.getParameter\("(.*?)"\) 

交換

stringescapeutils.escapehtml\(request.getParameter\("\1"\)\);

編集:ダンカンが正しく指摘しているように、1行に複数の置換可能な式がある場合、検索正規表現でのマッチングは非貪欲である必要があります。これを考慮して検索正規表現を修正しました。

PS: 次回は、あなたが試したことを教えてください。

于 2012-07-16T08:41:19.193 に答える
0

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") パラメータの後まで終わらないことに注意してください!

于 2012-07-16T09:09:52.460 に答える