Разработка магазинов с гарантией попадания в ТОП поисковых систем

Узнать подробнее

Утверждения в PHP

Утверждения регулярных выражений в PHP позволяют значительно увеличить возможности выборки, указав интерпретатору определенные условия, которым должна соответствовать строка.

Утверждения в регулярных выражениях

Утверждение – это проверка символов, следующих до или после текущего символа. Простейшие утверждения закодированы последовательностями \A, \Z, ^, $ , более сложные утверждения кодируются при помощи специальных подшаблонов.

Существует два основных типов утверждений: те которые обрабатывают символы до текущего элемента и те, которые обрабатывают символы после текущего элемента.

«Смотрящие вперед» утверждения ищут совпадения в строке за текущей позицией поиска и начинаются с «?=» для позитивных утверждений и с «?!» для негативных. К примеру выражение

\w+(?=;)

совпадает с любым словом, заканчивающимся на «;», а выражение

дуб(?!ина)

совпадает с любым словом дуб, после которого нет последовательности символов ина (дубина).

«Смотрящие назад» утверждения ищут совпадения перед текущей позицией. Позитивные утверждения этого типа начинаются с «?<=» , негативные – с «?<!» . Смотрящим назад утверждениям позволено искать только строки фиксированной длины, т.е. в них нельзя использовать квантификаторы. Например,

(?<!дуб)ина

находит все появления ина, перед которыми нет дуб.