Préanalyse et postanalyse non rétroactives
La préanalyse et la postanalyse positives ne permettent pas un retour en arrière. Cela implique que leur contenu est traité de la même façon que le contenu d'un groupe de non rétroactif (?> )
.
Comme la préanalyse et la postanalyse sont toujours de largeur nulle, le comportement rétroactif est visible uniquement lorsque les groupes de capture apparaissent dans les préanalyse et postanalyse positives. Par exemple, (?=(a*))\1a
ne peut pas trouver de correspondance, parce que le groupe 1, qui est défini dans la préanalyse, consomme autant de caractères « a » qu'il en existe, alors que \1a
en demande un de plus. Comme l'expression de préanalyse ne fait l'objet d'aucune recherche rétroactive, le moteur de mise en correspondance ne réessaie pas le groupe 1 avec moins de caractères « a ».
Pour plus d'informations sur les constructions de regroupement, de préanalyse et de postanalyse, consultez Constructions de regroupement.