Caracteres de barra vertical "|" são usados para separar expressões
alternativas. Por exemplo, a expressão
gilbert|sullivan
correspondem tanto a "gilbert" quanto a "sullivan". Qualquer número de alternativas
pode ser usado, e uma alternativa vazia é permitida
(correspondendo a uma string vazia). O processo de correspondência testa
uma alternativa de cada vez, da esquerda para a direita, e a primeira
bem-sucedida é usada. Se as alternativas estiverem dentro de
uma sub-expressão (definida abaixo), "bem-sucedida" significa correspondência ao
restante da expressão principal assim como à alternativa dentro da
sub-expressão.
É possível registrar qual alternativa foi correspondida usando
(*MARK:NAME)
ou (*:NAME)
.
Qualquer número desses verbos (*MARK)
pode aparecer e seus
nomes não precisam ser únicos. Quando uma correspondência for bem-sucedida, o nome do
último (*MARK:NAME)
encontrado será colocado entre
as correspondências como se fosse um grupo de captura chamado MARK
para que
possa ser lido a partir dos matches
de
preg_match() e será passado para o
callback
de preg_replace_callback() etc.