Pour faire court, c’est pour interdire au moteur d’expression régulière de faire du backtracking sur un choix précis. Ici, c’est le choix est : "a?" matche-t-il un caractère ou 0 ?
/^a?ab/ arrivera a matcher "ab", mais /^a?+ab/ n’y arrivera pas, parce que dans le second cas "a?" a pris la décision de consommer le premier "a", et il ne reviendra pas sur cette décision ("+"), même quand cette décision implique un échec de la reconnaissance globale.
[^] # Re: Place aux jeux!
Posté par Moonz . En réponse à la dépêche Travailler avec des expressions rationnelles. Évalué à 4. Dernière modification le 10 février 2016 à 16:15.
Oui : http://www.regular-expressions.info/possessive.html
Pour faire court, c’est pour interdire au moteur d’expression régulière de faire du backtracking sur un choix précis. Ici, c’est le choix est : "a?" matche-t-il un caractère ou 0 ?
/^a?ab/arrivera a matcher "ab", mais/^a?+ab/n’y arrivera pas, parce que dans le second cas "a?" a pris la décision de consommer le premier "a", et il ne reviendra pas sur cette décision ("+"), même quand cette décision implique un échec de la reconnaissance globale.