Назад | Перейти на главную страницу

Регулярное выражение для поиска перечислений в исходных файлах Delphi?

Фон в том, что у меня сложная проблема с памятью в Дельфах. Но есть теория, что корнем ошибки может быть перечисление 5 значений. Итак, мой вопрос к вам:

Как написать повторное выражение для поиска в исходных файлах перечисления с 5 значениями? Перечисление в Delphi выглядит так

myEnum = (value1,value2,value3,value4,value5);

Конечно, между значениями может быть любое сочетание пробелов, табуляции и новой строки.

это должно дать вам все строки, которые вы ищете в своих файлах:

perl -n -e 'if ($_ =~ m/\W*\w+\W*=\W*\(\W*\w+\W*,\W*\w+\W*,\W*\w+\W*,\W*\w+\W*,\W*\w+\W*\)\W*;/) { print $_; }'

просто проанализируйте все ваши исходные файлы delphi через этот perl one liner.
еще несколько объяснений:

  • \W => означает несловесный символ
  • \w => означает буквенно-цифровой символ, включая подчеркивание
  • + => хотя бы одно вхождение
  • * => ноль или более случаев
  • $_ => текущая строка которого будет заполнена -n

надеюсь это поможет.