Unix egrep命令如何创建匹配以下的模式?

时间:2014-04-17 17:21:03

标签: regex unix command-line grep pattern-matching

我想问一下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

它不会工作。

如果你能提供帮助,我感激不尽!

1 个答案:

答案 0 :(得分:2)

请记住,捕获组的左括号为索引:您在定义之前调用了第一个组。

((a)b)中,\1指的是(a)b\2指的a

要解决此问题,您可以使用正确的索引:

(([a-zA-Z0-9])\2 )\1