Поделиться через


Конструкции изменения

Обновлен: Ноябрь 2007

В следующей таблице перечислены специальные знаки, изменяющие регулярное выражение так, что оно может сопоставляться по принципу "либо-либо".

Конструкция изменения

Определение

|

Соответствует любому из элементов, разделенных "|" (вертикальной чертой); например cat|dog|tiger. В первую очередь соответствует крайнее слева слово.

(?(выражение)да|нет)

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

(?(имя)да|нет)

Соответствует части "да", если имеется соответствие строке именованной собранной группы; в противном случае соответствует части "нет". Часть "нет" может быть опущена. Если заданное имя не соответствует имени или номеру собранной группы, использованной в этом выражении, конструкция изменения интерпретируется как проверка выражения (как описано в предыдущей строке таблицы).

См. также

Другие ресурсы

Элементы языка регулярных выражений