Учебник по основам PHP. PHPBeginner


Синтаксис регулярных выражений


Регулярное выражение должно состоять из: ограничителей шаблона, самого шаблона и необязательных модификаторов.

/шаблон/модификаторы

Ограничителями могут служить: прямые слеши «/», а также любые не алфавитно-цифровые символы, кроме обратного слеша «\». Часто в качестве ограничителей служат символы: \, %, $. Завершающий ограничитель должен быть представлен тем же символом, что и начинающий; ограничитель должен быть первым символом регулярного выражения. Если необходимо использовать символ, выбранный ограничителем в шаблоне, ему должен предшествовать обратный слеш «\» (например: «/\d{l,2}V\d{2}/»).

Заметьте, что перед тем, как значение строки шаблона будет передано в функцию, РПР интерпретирует строку регулярного выражения как любую другую строку. Поэтому будьте осторожны с использованием метасимволов и внимательно используйте обратный слеш. Например:

Sbegin = "OOps"; Spattern = "/Sbegnn/".

Теперь шаблон Spattern будет искать последовательность Oops в любом месте текста вместо ожидаемого фрагмента begin в начале текста. В данном случае строку следует записывать как Spattern = "ASbegin/"; либо как: Spattern = '/$begin/':. Подобных примеров можно привести множество, поэтому не брезгуйте заглянуть в раздел «Типы: Строки», чтобы вспомнить, как РНР интерпретирует строки, и, в частности, как следует использовать слеши.

Синтаксис шаблона

Символы в шаблоне делятся на два вида: обозначающие самих себя и метасимволы, имеющие специальное значение в регулярных выражениях. Именно в использовании метасимволов заключается вся мощь использования регулярных выражений.

Метасимвол

Значение

\

подстановка;

.

любой символ: [*\n] или [\0-\xFF];

I

альтернатива;

0

ограничители подшаблона;

|]

ограничители класса символов;

{}

числители повторения «от X до У раз»;

?

числитель «1 или 0 раз»; или мишшизатор числителя; или расширение значения метасимвола «(»;

*

числитель «0 или более pa:i>>;

+

числитель «1 или более раз»;

<

претензия «в начале строки»;

$

претензия «в конце строки».

<


Начало  Назад  Вперед



Книжный магазин