grepreplaceコマンドについてNo.07283
chakotay さん 13/12/13 16:37
 
正規表現を使った文字列置換を行いたいのですが、以下のような場合
どのように記述すればよろしいでしょうか?

例)

頭がabcXXXXXX を xyzXXXXXX に置換。XXXXXXはそのままとする。

grepreplace "abc[a-z,A-Z,0-9]*", "xyz[a-z,A-Z,0-9]*", "*.cpp;*.c;*.h;*.m;*.m
m", ".",casesense, regular, subdir;

で実行すると全部xyz[a-z,A-Z,0-9]*になってしまいます。
どなたをお知恵を!

[ ]
RE:07283 grepreplaceコマンドについてNo.07284
秀丸担当 さん 13/12/13 17:10
 

検索文字列中の()でくくった部分を、置換文字列で\1などで書く方法があります。

置換ダイアログで置換する場合は、正規表現をONにして以下のようにするといい
です。
検索文字列:abc([a-z,A-Z,0-9]*)
置換文字列:xyz\1

マクロにする場合は文字列中の「\」は「\\」と書きます。
grepreplace "abc([a-z,A-Z,0-9]*)", "xyz\\1", ....


詳しくはヘルプの
[目次]→[検索系コマンド]→[正規表現]→[\1・\2 一般的正規表現互換のタグ付
き正規表現]
のところを参照してほしいです。

[ ]
RE:07284 grepreplaceコマンドについてNo.07285
chakotay さん 13/12/13 17:22
 
早速のお返事ありがとうございます!
うまくいきました!
本当にありがとうございます!!

[ ]