因此,我试图找到6个字母的单词,这些单词由一个字符重复3次,然后再由另一个字符重复3次组成。例如aaabbb
或oookkk
。
我在尝试:
grep -E "[a-z]\1{3}\S[a-z]\1{3}" filename
首先,正则表达式正确吗?第二,我为什么要得到grep: Invalid back reference
?
反向引用应指向某事物,而您尚未指定该事物是什么。通常,您可以使用括号将表达式分组。例如:
—
muru
grep -E '([a-z]{2})([0-9]{2})\2\1'
将匹配aa9999aa
。
@terdon您要查找的单词由一个字符的3个重复组成,然后由另一个字符的3个重复组成吗?是。还是您也想匹配aaabbbfoobar?号等唯一的话
—
亮点厂
oookkk
(不超过6个字符)含有不字oookkk
状oookkkfoobar
@HighlightsFactory OK,在这种情况下,请使用
—
terdon
grep -w
我在答案中给出的示例。
还有一件事,您还想匹配
—
terdon
aaaaaa
还是至少需要两个不同的字符?请考虑提供示例输入和所需的输出。
aaabbbfoobar
?那aaaabbb
呢 理想情况下,请向我们展示一些示例输入和所需的输出。