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