заменить строку1 на строку2 во многих java-файлах, только в комментариях

У меня около 3000 случаев замены в сотнях файлов. Замена всех вхождений string1 на string2 была простой. IntelliJ позволяет мне заменить все вхождения в «комментариях и строках».

Проблема в том, что одна и та же строка появляется в комментариях и в реальном коде. Я хотел бы ограничить замену только в разделе комментариев (мы используем сочетание /**/ или //)

Любая библиотека/IDE/скрипт, который может это сделать?


person Jayan    schedule 30.06.2011    source источник
comment
Половина решения: File::Comments::Plugin::Java, String::Comments::Extract, Regexp::Common::comment   -  person daxim    schedule 30.06.2011


Ответы (1)


Попробуйте использовать следующее регулярное выражение, чтобы найти все комментарии, а затем заменить то, что вы хотите:

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

Первая часть \/\*[^\*\/]*\*\/ Пытается найти все пары /**/, где она находит что-то, что начинается с /* и затем содержит что-то кроме конечного тега */ и содержит конечный тег */.

Другая часть проверяет что-то, что начинается с // и идет до конца строки (\n), и содержит что-то не новую строку между ([^\n]*).

Таким образом, все комментарии

person Yet Another Geek    schedule 30.06.2011