PHP-Nuke по-русски    Главная
Начальная
страница
 Клуб
Русский
клуб
 Разделы
Тематические
разделы
 Ссылки
Каталог
сайтов
 Файлы
Каталог
программ
 Школа
Практические
занятия
 Форум
Форумы
поддержки
Учебник РНР
Назад Вперёд

LXXXVII. Функции регулярных выражений
(Perl-совместимые)

Синтаксис патэрнов, используемый в этих функциях, очень напоминает Perl. Выражение должно быть заключено в ограничители, слэши (/), например. В качестве ограничителей могут использоваться любые символы, кроме не алфавитных символов, цифр и обратного слэша (\). Если символ ограничителя должен использоваться в самом выражении, он должен мнемонизироваться/escape обратным слэшем. Начиная с PHP 4.0.4, вы можете также использовать парные ограничители в стиле Perl: (), {}, [] и <>.

После конечного ограничителя могут идти различные модификаторы, влияющие на подстановку. См. Модификаторы патэрна.

PHP также поддерживает регулярные выражения, использующие расширенный синтаксис POSIX с функциями POSIX-extended regex.

Требования

Поддержка регулярных выражений предоставляется пакетом библиотеки PCRE, который является открытым ресурсом, автор Philip Hazel, и copyright University of Cambridge, England. Он находится на ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

Установка

Начиная с PHP 4.2.0, эти функции по умолчанию включены. В более старых версиях вы должны конфигурировать и компилировать PHP с опцией --with-pcre-regex[=DIR], чтобы использовать эти функции. Вы можете отменить функции pcre опцией --without-pcre-regex.

Конфигурация

Это расширение не определяет никаких директив конфигурации.

Типы ресурсов

Это расширение не определяет никакие типы ресурсов.

Предопределённые константы

Таблица 1. PREG-константы
константаописание
PREG_PATTERN_ORDERОформляет результат таким образом, что $matches[0] является массивом совпадений всего патэрна, $matches[1] это массив строк, совпавших с первым субпатэрном в кавычках, и так далее. Этот флаг используется только с preg_match_all().
PREG_SET_ORDER Оформляет результат таким образом, что $matches[0] это массив первого набора совпадений, $matches[1] это массив второго набора совпадений, и так далее. Этот флаг используется только с preg_match_all().
PREG_OFFSET_CAPTUREСм. описание PREG_SPLIT_OFFSET_CAPTURE. Этот флаг доступен, начиная с PHP 4.3.0.
PREG_SPLIT_NO_EMPTY Этот флаг говорит функции preg_split() - возвращать только непустые участки.
PREG_SPLIT_DELIM_CAPTUREЭтот флаг говорит функции preg_split() - захватывать выражение в скобках также в патэрне ограничителе. Этот флаг доступен, начиная с PHP 4.0.5.
PREG_SPLIT_OFFSET_CAPTUREЕсли этот флаг установлен, для каждого возникающего совпадения будет возвращаться также смещение прибавляемой строки. Обратите внимание, что это изменяет return-значение в массиве, где элемент является массивом, состоящим из совпавшей строки со смещением 0  и смещения его строки в субъекте со смещением 1. Этот флаг доступен, начиная с PHP 4.3.0, и используется только для preg_split().

Примеры

Пример 1. Примеры верных патэрнов
  • /<\/\w+>/

  • |(\d{3})-\d+|Sm

  • /^(?i)php[34]/

  • {^\s+(\s+)?$}

Пример 2. Примеры неправильных патэрнов
  • /href='(.*)' - отсутствует конечный ограничитель

  • /\w+\s*\w+/J - неизвестный модификатор 'J'

  • 1-\d3-\d3-\d4| - пропущен начальный ограничитель

Содержание
Модификаторы Патэрна - описаны возможные модификаторы в regex-патэрнах
Синтаксис Патэрна - описан синтаксис PCRE regex
preg_grep - возвращает вхождения массива, совпадающие с патэрном
preg_match_all - выполняет глобальный поиск совпадений регулярного выражения
preg_match - выполняет поиск совпадений регулярного выражения
preg_quote - закавычивает символы регулярного выражения
preg_replace_callback - выполняет поиск регулярного выражения и замену с использованием обратного вызова/callback
preg_replace - выполняет поиск регулярного выражения и замену
preg_split - делит строку регулярным выражением

НазадОглавление Вперёд
recodeВверх Модификаторы патэрна

© RigaNet - Internet studio
For Web site issues, contact the Web master.

Rambler's Top100 Рейтинг@Mail.ru RigaNet