是否可以在 grep 正则表达式中重复匹配?

Is it possible to repeat a match in a grep regexp?

我正在使用这个:

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

等等

我不知道这是否可能,更不用说怎么做了。是吗?

谢谢

第一个捕获的组应指定为 </code> 而不是 <code>%1:

样本file.txt

AA AB
AB AB
BC BC
DDD DDD
NN WN

考虑更新后的正则表达式模式:

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

输出:

AB AB
BC BC
DDD DDD

奖金 相反 行动的方法:

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

输出:

AA AB
NN WN