- Таблиця 1. PREG-константи
- Приклад 1. Приклади вірних патернов
- Приклад 2. Приклади неправильних патернов
Синтаксис патернов, який використовується в цих функціях, дуже нагадує 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 | - пропущений початковий обмежувач