Конструкции изменения
Обновлен: Ноябрь 2007
В следующей таблице перечислены специальные знаки, изменяющие регулярное выражение так, что оно может сопоставляться по принципу "либо-либо".
Конструкция изменения |
Определение |
---|---|
| |
Соответствует любому из элементов, разделенных "|" (вертикальной чертой); например cat|dog|tiger. В первую очередь соответствует крайнее слева слово. |
(?(выражение)да|нет) |
Соответствует части "да", если в данной точке выражение совпадает; в противном случае соответствует части "нет". Часть "нет" может быть опущена. Выражение может быть любым допустимым вложенным выражением, но оно превращается в утверждение нулевой ширины, поэтому данный синтаксис равнозначен (?(?=выражение)да|нет). Обратите внимание, что если выражение является названием именованной группы или номером собираемой группы, конструкция изменения интерпретируется как проверка собираемой группы (как описано в следующей строке таблицы). Чтобы избежать путаницы в таких случаях, можно явно развернуть вложенное (?=выражение). |
(?(имя)да|нет) |
Соответствует части "да", если имеется соответствие строке именованной собранной группы; в противном случае соответствует части "нет". Часть "нет" может быть опущена. Если заданное имя не соответствует имени или номеру собранной группы, использованной в этом выражении, конструкция изменения интерпретируется как проверка выражения (как описано в предыдущей строке таблицы). |