La barre verticale |
sert à séparer des
alternatives. Par exemple, dans le masque "/dupont|martin/
"
recherche soit "dupont
", soit "martin
".
Le nombre d'alternatives n'est pas limité, et il est même possible
d'utiliser la chaîne vide. Lors de la recherche, toutes les alternatives
sont essayées, de gauche à droite, et la première qui est
acceptée est utilisée.
Si les alternatives sont dans un sous-masque, elles ne réussiront
que si le masque principal réussit aussi.
Il est possible d’enregistrer quelle alternative a été sélectionnée en utilisant
(*MARK:NOM)
ou (*:NOM)
.
Un nombre quelconque de verbes (*MARK)
peut apparaître, et leurs
noms n’ont pas besoin d’être uniques. Lorsqu’une correspondance réussit, le nom du
dernier (*MARK:NOM)
rencontré sera placé parmi
les correspondances comme s’il s’agissait d’un groupe de capture appelé MARK
,
de sorte qu’il puisse être lu à partir de matches
dans
preg_match() et sera transmis au
callback
de preg_match_all(), etc.