我想问一下egrep中的背引用。
我有一个文件,它包含:
aa aa someothertext
并且有类似77 77
的东西
如何使用反向引用来匹配模式' aa aa'和' 77 77'?
我试过了:
egrep '(aa )\1' file.txt
它会匹配' aa aa'。然后。我试图取代' aa'用' ([a-zA-Z0-9])\ 1',产生:
egrep '(([a-zA-Z0-9])\1 )\1' file.txt
它不会工作。
如果你能提供帮助,我感激不尽!
答案 0 :(得分:2)
请记住,捕获组的左括号为索引:您在定义之前调用了第一个组。
在((a)b)
中,\1
指的是(a)b
和\2
指的a
。
要解决此问题,您可以使用正确的索引:
(([a-zA-Z0-9])\2 )\1