用于在 Delphi 源文件中查找枚举的正则表达式?

用于在 Delphi 源文件中查找枚举的正则表达式?

背景是,我有一个复杂的记忆问题在 Delphi 中。但有一种理论认为,5 个值的枚举可能是错误的根源。所以我的问题是:

如何编写正则表达式来搜索源文件中具有 5 个值的枚举?Delphi 中的枚举如下所示

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

当然,值之间可以有空格、制表符和换行符的任意组合。

答案1

这应该会为您提供您在文件中搜索的所有行:

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 $_; }'

只需通过这个 perl 单行程序解析所有 delphi 源文件即可。
更多解释如下:

  • \W=> 表示非单词字符
  • \w=> 表示字母数字字符,包括下划线
  • +=> 至少发生一次
  • *=> 零次或多次出现
  • $_=> 当前行将由-n

希望这可以帮助。

相关内容