包含管道的模式的意外多行pcregrep行为

时间:2018-10-17 23:21:18

标签: pcregrep

当模式包含管道pcregrep运算符时,我注意到与|进行多行匹配的行为非常不稳定。这是一些令人惊讶的行为的简单示例。第一个命令产生预期的行为,第二个命令应返回相同的结果,但不返回(以bash执行):

$ pcregrep -M -e '(foo\(\) {\n +return|zzzz)' ~/sandbox/test.txt
function foo() {
    return blah();
$ pcregrep -M -e '(foo\(\) {\n +return|zzz)' ~/sandbox/test.txt
$

test.js(具有unix行尾的ASCII):

function foo() {
    return blah();
}

const bar = () => {
    return bleh();
}

这看起来像是pcregrep中的错误,也许我缺少一些明显的PCRE语法问题。

pcregrep version 8.39 2016-06-14

0 个答案:

没有答案