是否可以在grep regexp中重复匹配?

时间:2017-11-15 13:15:08

标签: linux grep pcre

我正在使用它:

grep '\s[A-Z]+\s[A-Z]+\s' file.txt -Po

哪个匹配

 ABC DE
 AB AB
 DEF GHIFOO

我想做的是像

grep '\s([A-Z]+)\s%1\s' file.txt -Po

仅匹配

 AB AB
 BC BC
 DDD DDD

如果可能的话,我无法解决问题,更不用说如何做了。是吗?

由于

1 个答案:

答案 0 :(得分:1)

第一个捕获的组应指定为\1,而不是%1

示例file.txt

AA AB
AB AB
BC BC
DDD DDD
NN WN

考虑更新的正则表达式:

grep -Po '\b([A-Z]+)\s\1\s*' file.txt

输出:

AB AB
BC BC
DDD DDD
反对行动的

奖金方法:

grep -Po '\b([A-Z]+)\s(?!\1)[A-Z]+\s*' file.txt

输出:

AA AB
NN WN
相关问题