Regex Unix egrep命令如何创建模式以匹配以下内容?
我想问一下关于egrep中的反向引用 我有一个文件,它包含: aa其他文字 还有77个 如何使用反向引用来匹配模式“aa aa”和“77 77” 我试过: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 )\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
)似乎已经完成了这项工作,所以我没有修改正则表达式。