Los caracteres de barra vertical se usan para separar patrones alternativos.
Por ejemplo, el patrón
gilbert|sullivan
coincide con "gilbert" o "sullivan". Cualquier número de alternativas
puede aparecer, y se permite una alternativa vacía
(coincidiendo con la cadena vacía). El proceso de coincidencia intenta
cada alternativa en orden, de izquierda a derecha, y la primera
que tenga éxito se usa. Si las alternativas están dentro de un
subpatrón (definido más abajo), "éxito" significa coincidir con
el resto del patrón principal así como con la alternativa en el
subpatrón.
Es posible registrar cuál alternativa fue coincidente usando
(*MARK:NAME)
o (*:NAME)
.
Cualquier número de verbos (*MARK)
pueden aparecer y sus nombres no tienen que ser únicos. Cuando una coincidencia tiene éxito, el nombre de la última (*MARK:NAME)
encontrada se colocará entre las coincidencias como si fuera un grupo de captura llamado MARK
para que pueda leerse desde el matches
de
preg_match() y se pasará al
callback
de preg_replace_callback() etc.