GExperts выражение grep для строк исходного текста со строковыми литералами (для перевода)

Как найти все строки в исходном коде Delphi с помощью поиска GExperts grep, которые содержат строковый литерал вместо строки ресурса, кроме тех строк, которые помечены как 'do not translate'?

Пример:

эта строка должна совпадать

  ShowMessage('Fatal error! Save all data and restart the application');

эта строка не должна совпадать

  FieldByName('End Date').Clear; // do not translate

(Спросите конкретно о GExpert, поскольку он имеет ограниченную реализацию grep afaik)

1 ответ

Регулярные выражения нельзя отрицать вообще.

Поскольку вы хотите отменить часть поиска, это настолько близко, насколько я мог бы получить в пределах границ RegEx, которые понимает GExpers Grep Search:

\'.*\'.*[^n][^o][^t][^ ][^t][^r][^a][^n][^s][^l][^a][^t][^e]$

Редактировать: Забыл маркер конца строки $, без которого GExperts Grep Search не может обойтись.

болван объясняет, почему вы не можете отрицать в целом.

Этот быстрый поиск Visual Studio использует тильду для отрицания, но поиск GExperts Grep не может.

Поиск в командной строке grep имеет -v (реверс) опция, чтобы отменить полный поиск (но не частичный поиск).

Идеальное ручное отрицание усложняется очень быстро.

--jeroen

Другие вопросы по тегам