Asserção em regex condicional

0

Tendo regex seguinte:

(?(?<=\AA)a|e)/g

e string de teste:

Aa
Ae
Be

corresponde a a (linha # 1), e (linha # 2), e (linha # 3). Eu acho que deveria coincidir com apenas a (linha # 1) porque existem 3 linhas mas apenas UMA string - \AA corresponde A apenas uma vez (na primeira linha da string) e portanto aplica a padrão que corresponde apenas a a na primeira linha.

    
por Mulligan 30.11.2017 / 12:26

1 resposta

-1

Should't it match just a (line #1) only?

Não.

Sua expressão atual traduzida para o inglês:

  • ?(?<=\AA) - se o caractere atual for precedido pelo início da string AND A
    • , em seguida, corresponde a a - isso corresponderá a a na primeira linha
    • else (= qualquer outro caso) corresponde a e - isso corresponderá a e nas linhas 2 e 3
por 30.11.2017 / 12:59

Tags