标签: pcre pcregrep
我想使用pcregrep及其--color选项来突出显示遵循特定模式的文本:
例如如果file.txt包含:
bob says hi chloe says hello
然后运行:
pcregrep --color '(?:says)(.*)' file.txt
打印
鲍勃打招呼 chloe 打招呼
但是我想要的是:
鲍勃说嗨 chloe说你好
有没有一种使用pcregrep的方法,并且只突出显示遵循特定正则表达式的文本?
答案 0 :(得分:1)
答案似乎是“否”,即使在示例中没有用(?:..)捕捉,也不能只为比赛的一部分加色。
(?:..)
但是,如果您改用正向隐式断言来锚定匹配但不属于匹配,则可以实现所需的目标:
pcregrep --color '(?<=says)(.*)' data
结果: