2011-06-30 5 views
2

私は約3000件のファイルを何百ものファイルに置き換えました。 string1の出現をすべてstring2に置き換えるのは簡単でした。 IntelliJを使用すると、「コメントと文字列」のすべての箇所を置き換えることができます。多くのJavaファイルでは、文字列1を文字列2に置き換えます。コメントのみ

問題は、コメントと実際のコードに同じ文字列が表示されることです。私はコメント欄でのみ置換を制限したい(/ ** /または//の組み合わせを使用)

これを行うライブラリ/ IDE /スクリプトはありますか?

+0

ソリューションの半分:[ファイル::コメント::プラグイン::のJava](http://p3rl.org/File::Comments::Plugin: :Java)、[String :: Comments :: Extract](http://p3rl.org/String::Comments::Extract)、[Regexp :: Common :: comment](http://p3rl.org/Regexp ::共通::コメント) – daxim

答えて

4
use Regexp::Common 'comment'; 
... 
s/($RE{comment}{'C++'})/(my $x = $1) =~ s#string1#string2#g; $x/ge; 
1

は、すべてのコメントを検索するには、次の正規表現を使用してみてください、そして、あなたはその後何をしたい置き換える:

/(?>\/\*[^\*\/]*\*\/|\/\/([^\n])*\n)/ 

最初の部分\/\*[^\*\/]*\*\/はそれが/*で始まる何かを発見して、含まれているすべての/**/ペアを見つけよう終了タグ以外のもの*/と終了タグ* /が含まれています。

他の部分は、//で始まり、endline(\n)に行き、([^\n]*)の間に改行が含まれていないものをチェックします。

したがってべきすべてのコメント

関連する問題