@
我正在尝试做一个正则表达式来查看一个预先存在的代码库,该代码库似乎在变量引用和函数调用上都滥用了 php 错误抑制字符 ( )。因此,我想搜索整个代码库以创建所有用法的列表。问题是,大部分代码还包括 perldoc,我不确定如何排除明显的注释。
大多数 perldoc 似乎都以最少的 whitespace-asterix-whitespace 为前提。例如:
/**
* @param int $somvar
*/
所以它可以与/^\s*\*\s+/
合理一致的东西相匹配。
我用来查找错误抑制字符用法的正则表达式(但也抓住了 perldoc)是:
/(@[\$\w][\w\d]*)/
除了拾取所有 perldoc 之外,它的结果是令人满意的。
我尝试查看一些负面预测的示例,但似乎并没有用我尝试过的任何东西来回避那些 perldoc 注释。一个不起作用的例子如下:
(?!\s*[\*\/])(@[\$\w][\w\d]*)
任何帮助表示赞赏