Regex.IsMatch("ab", @"^(?:(a)|\1b)$") == False
Il tente de faire correspondre a
, réussit, puis tente de faire correspondre $
, échoue, il revient en arrière et tente l'autre disjointe, qui commence par \1
. Je suppose que quand il a frappé le "a" \1
a pris la valeur "a", mais maintenant, parce qu'il devait revenir en arrière, il a oublié cette valeur? Est-ce ainsi que ça fonctionne? Et \1
échouera juste à correspondre à tout ce point après ce point?Pourquoi cette expression régulière ne correspond pas?
Il est peut-être préférable de nous dire ce que vous essayez de faire correspondre? –
@Jason: Rien. Juste essayer de comprendre comment ils fonctionnent ... en profondeur. – mpen