正则表达式匹配这一点

时间:2013-08-10 10:53:07

标签: regex regex-negation

我正在尝试从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

我尝试的是否定任何包含“异常”的行,但我的正则表达式并没有完全奏效。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

你可以尝试这种模式:

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

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

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

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