Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Unix egrep命令如何创建模式以匹配以下内容?_Regex_Unix_Command Line_Grep_Pattern Matching - Fatal编程技术网

Regex Unix egrep命令如何创建模式以匹配以下内容?

Regex Unix egrep命令如何创建模式以匹配以下内容?,regex,unix,command-line,grep,pattern-matching,Regex,Unix,Command Line,Grep,Pattern Matching,我想问一下关于egrep中的反向引用 我有一个文件,它包含: aa其他文字 还有77个 如何使用反向引用来匹配模式“aa aa”和“77 77” 我试过: egrep '(aa )\1' file.txt 它将匹配“aa”。那么。我尝试将“aa”替换为“([a-zA-Z0-9])\1”,这将产生: egrep '(([a-zA-Z0-9])\1 )\1' file.txt 这行不通 如果你能帮忙,我将不胜感激 请记住,捕获组是通过其左括号编制索引的:您在定义第一个组之前调用了它 在((a)b

我想问一下关于egrep中的反向引用

我有一个文件,它包含:

aa其他文字

还有77个

如何使用反向引用来匹配模式“aa aa”和“77 77”

我试过:

egrep '(aa )\1' file.txt
它将匹配“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

不清楚图案是“xx xx”还是“xx xx”。如果要匹配第一个,则它是
((a-zA-Z0-9])\2)\1
@Robin谢谢!现在我明白了\n的意思。。完全地很高兴我能帮忙@马克拉卡塔:是的。由于第一个示例(
(aa)\1
)似乎已经完成了这项工作,所以我没有修改正则表达式。