Ajuda para entender uma expressão regular

0

Eu tenho essa expressão regular \..\{3\}$

Eu quero entender como essa expressão funciona para corresponder a uma string. Meu pensamento é que ele corresponde a qualquer 8 caracteres no final da linha. É assim que essa expressão funciona?

Se sim, acho que algo assim corresponderia à string:

rs.efg$tu

    
por user1763658 07.03.2013 / 20:48

1 resposta

2

Assumindo regexp "típico" (infelizmente, diferentes ferramentas lidam com rexexps ligeiramente diferentes, e as versões GNU e POSIX também são diferentes, e depois houve alguma deriva de versão ...), isso é analisado como [Need Unicode-Art in marcação ...]

\.  . \{3\} $
 ▲  ▲   ▲   ▲
 │  │   │   │
 │  │   │   └─ End of line
 │  │   └─ Preceding exactly 3 times (the '\' makes '{' special...)
 │  └─ Any character (except '\n')
 └─ A literal '.' ('.' is special, '\' makes it un-special)

Então, isso significa um ponto e três caracteres aleatórios antes do final da linha.

Construções como * ou \{3\} (se a última for suportada) aplicam-se ao último caractere ou à última parênteses (provavelmente \( ... \) , mas isso é novamente dependente de dialéx-regexp). Verifique o manual para a ferramenta exata que você está usando .

    
por 07.03.2013 / 20:57