1

我试图从 PHPUnit 输出中捕获文件路径和带有条件的错误行。

  • 我不想要包含整个单词异常的行(我可以排除多个单词吗?)。

这是我的输出和非工作(显然:)模式:

/path/includes/exception.php:7
/path/things-i-care-about/es/somefile.php:132
/path/things-i-care-about/es/somefile.php:121
/path/things-i-care-about/es/somefile.php:54
/path/things-i-care-about/es/somefile.php:60
/path/things-i-care-about/es/somefile.php:41
/path/things-i-care-about/es/somefile.php:47
/path/things-i-care-about/testfile.php:26

Pattern: /((?!exception).*.php):(\d.*)/gs

我尝试的是否定其中包含“异常”的任何行,但我的正则表达式并不能很好地工作。

我究竟做错了什么?

4

1 回答 1

2

你可以试试这个模式:

^(?:[^e\n]+|\Be|\be(?!xception\b))+\.php:\d+$

或这种模式,如果您不需要检查特定的行格式:

^(?>[^e\n]++|\Be|\be(?!xception\b))+$

注意:如果您需要选择一个块中的所有连续行,您只需\n从字符类中删除即可。

于 2013-08-10T11:58:12.693 回答