使用带有--color选项的pcregrep-仅突出显示未捕获的表达式?

时间:2019-01-25 19:01:31

标签: pcre pcregrep

我想使用pcregrep及其--color选项来突出显示遵循特定模式的文本:

例如如果file.txt包含:

bob says hi
chloe says hello

然后运行:

pcregrep --color '(?:says)(.*)' file.txt

打印

鲍勃打招呼
chloe 打招呼

但是我想要的是:

鲍勃说
chloe说你好

有没有一种使用pcregrep的方法,并且只突出显示遵循特定正则表达式的文本?

1 个答案:

答案 0 :(得分:1)

答案似乎是“否”,即使在示例中没有用(?:..)捕捉,也不能只为比赛的一部分加色。

但是,如果您改用正向隐式断言来锚定匹配但不属于匹配,则可以实现所需的目标:

pcregrep --color '(?<=says)(.*)' data

结果:

enter image description here

相关问题