我需要匹配由一个或多个空格分隔的2个相同的字符串。例如:
foo foo< -match foo fooo< - 不匹配
到目前为止,我有:
egrep '[ ]\w+[ ]{1,}' sample.txt
只匹配随机字符串和任意数量的空格。
答案 0 :(得分:2)
您可以将此grep
与已捕获的群组和后向参考一起使用:
grep -owE '(\w+)[[:blank:]]+\1' file
foo foo
RegEx说明:
( # start capture group #1
\w+ # match 1 or more word characters
) # end capture group #1
[[:blank:]]+ # match 1 or more spaces or tabs
\1 # back-reference to captured group #1
通过使用-w
选项和反向引用\1
,我们确保匹配完全相同的单词,这些单词由1个或多个空格分隔。