我想问一下egrep中的反向引用。
我有一个文件,它包含:
aa aa someothertext
and there are something like 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
这不会起作用。
如果您能提供帮助,我将不胜感激!
最佳答案
请记住,捕获组通过其左括号进行索引:您在定义第一个组之前调用了它。
在((a)b)
中,\1
指的是(a)b
和\2
到 a
。
要解决此问题,您可以使用正确的索引:
(([a-zA-Z0-9])\2 )\1
关于regex - Unix egrep 命令如何创建一个模式来匹配以下内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23139531/