这是一个非常基本的问题,但我无法理解。我正在学习 Linux,我收到的问题之一是;
*感伤这个词包括出现三次的相同的三个字符(例如“ent”)。单词“blayblapblam”也包含重复三次的相同的三个字符(例如“bla”)。
你能找到多少个包含任意三个字符重复三次的单词,比如“sentimentalment”和“blayblapblam”,但也以小写的“d”开头。使用 /usr/share/dict/words 作为可能的单词列表,并使用 grep 找到答案。“d”不是检测三字符字符串时考虑的字符之一。*
到目前为止,我可以返回相同的三个字母出现两次的实例;
grep -E '^d(...).*\1' /usr/share/dict/words > output
Run Code Online (Sandbox Code Playgroud)
在我看来,查找以 'd' 开头的单词,然后在同一组 (1) 之前再次出现三个字母、0 个或多个字符的组合。
我试过以下;
grep -E '^d(...).*\1.*\1' /usr/share/dict/words > output
Run Code Online (Sandbox Code Playgroud)
如果我的理解是正确的(显然不是),则返回第一组,然后返回零个或多个字符,然后再返回第一组。
有人能指出我哪里出错了吗?任何帮助表示赞赏。