Символ вертикальной черты «|» указывают для разделения альтернативных масок.
Например, шаблон gilbert|sullivan соответствует как
«gilbert», так и «sullivan». Допустимо указывать любое количество альтернатив,
также допустимо указывать пустые альтернативы (соответствуют пустой строке).
В процессе поиска соответствия просматриваются все перечисленные альтернативы
слева направо, останавливаясь после первого найденного соответствия.
Если альтернативные варианты перечислили в подшаблоне, то весь шаблон совпадёт
только при соответствии одного из альтернативных вариантов подшаблона
и остатка основного шаблона.
Можно записать, какая альтернатива была найдена,
используя (*MARK:NAME) или (*:NAME).
Может появиться любое количество таких глаголов (*MARK),
и их имена не обязательно должны быть уникальными.
Когда совпадение найдено, имя последнего встреченного (*MARK:NAME)
будет помещено среди совпадений, как если бы оно было группой захвата
с именем MARK, так что его можно будет прочитать
из параметра matches функции preg_match()
и оно будет передано в параметр callback
функции preg_replace_callback() и т. д.