Regex: corresponde ao segundo e terceiro caractere

2

Eu estava fazendo alguns exercícios em expressões regulares, mas parece que não consigo decifrar este:

egrep in a file where the 2nd and 3rd character are the same.

Eu tentei:

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

No entanto, isso está errado, como devo corresponder o segundo e terceiro caractere em um regex? Como eu combinaria o 2º e o 4º caractere em um regex (não um exercício, mas eu gostaria de conhecer este também)?

    
por Lucas Kauffman 08.08.2011 / 11:46

2 respostas

3

Você precisará de referências anteriores para a primeira parte:

egrep '^.(.)'

O .{2} simplesmente corresponde a dois caracteres.

Se você quiser que o segundo e o quarto personagens sejam iguais, a mesma ideia acima:

egrep '^.(.).'
    
por 08.08.2011 / 11:55
2

Use referências anteriores. A resposta para sua primeira pergunta (2a, 3a) é:

egrep '^.(.)'

link é uma introdução simples para backreferences.

    
por 08.08.2011 / 11:56