正则表达式:匹配第二个和第三个字符

正则表达式:匹配第二个和第三个字符

我正在做一些关于正则表达式的练习,但我似乎无法破解这个:

一个文件中的egrep,其中第二个和第三个字符相同。

我试过 :

egrep  '^..{2}' /usr/share/dict/dutch

然而这是错误的,我应该如何匹配正则表达式中的第二个和第三个字符?我将如何匹配正则表达式中的第二个和第四个字符(不是练习,但我也想知道这个。)?

答案1

您需要第一部分的反向引用:

egrep '^.(.)\1'

简单.{2}地匹配任意两个字符。

如果你希望第二个和第四个字符相同,则与上面的想法相同:

egrep '^.(.).\1'

答案2

使用反向引用。第一个问题的答案(第二个、第三个字符相同)是:

egrep '^.(.)\1'

http://www.regular-expressions.info/brackets.html是反向引用的简单介绍。

相关内容