НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

PHP Підручник

PHP СТАРТ PHP Інтро PHP Встановлення PHP Синтаксис PHP Коментарі PHP Змінні PHP Echo / Print PHP Типи даних PHP Рядки PHP Числа PHP Математика PHP Константи PHP Оператори PHP If...Else...Elseif PHP Switch PHP Цикли PHP Функції PHP Масиви PHP Суперглобали PHP RegEx

PHP Форми

PHP Обробка форми PHP Перевірка форми PHP Обов'язкові поля форми PHP Форма URL/E-mail PHP Заповнення форми

PHP Розширений

PHP Дата і час PHP Підключення файлів PHP Обробка файлів PHP Файл відкрити/читати PHP Файл створити/записати PHP Файл Завантажити PHP Кукі PHP Сесії PHP Фільтри PHP Розширені фільтри PHP Callback функції PHP JSON PHP Винятки

PHP ООП

PHP Що таке ООП PHP класи/об'єкти PHP Конструктор PHP Деструктор PHP Модифікатори доступу PHP Спадкування PHP Константи PHP Абстрактні класи PHP Інтерфейси PHP Трейти PHP Статичні методи PHP Статичні властивості PHP Простори імен PHP Ітерація

MySQL База даних

MySQL База даних MySQL Підключення MySQL Створити БД MySQL Створити таблиці MySQL Вставити дані MySQL Отримати останній ID MySQL Вставити кілька записів MySQL Підготовлені інструкції MySQL Вибрати дані MySQL Where MySQL Order By MySQL Видалення даних MySQL Оновлення даних MySQL Обмеження даних

PHP XML

PHP XML Парсери PHP SimpleXML Парсер PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Інтро AJAX PHP AJAX База даних AJAX XML AJAX Живий пошук AJAX Опитування

PHP Приклади

PHP Приклади PHP Компілятор PHP Вікторина PHP Вправи PHP Сертифікат

PHP Довідник

PHP Огляд PHP Масив PHP Календар PHP Дата PHP Каталог PHP Помилка PHP Виняток PHP Файлова система PHP Фільтр PHP FTP PHP JSON PHP Ключові слова PHP Libxml PHP Пошта PHP Математика PHP Різне PHP MySQLi PHP Мережа PHP Output Control PHP RegEx PHP SimpleXML PHP Потік PHP Рядок PHP Обробка змінних PHP XML Парсер PHP Zip PHP Часові пояси

PHP. W3Schools українською. Уроки для початківців

En

PHP Функції Регулярних виразів


PHP Регулярні вирази. Інтро

Регулярні вирази дозволяють шукати та замінювати шаблони в рядках.


Інсталяція

Функції регулярних виразів PHP є частиною ядра PHP. Для використання цих функцій не потрібна установка.


Конфігурація середовища виконання

Ці налаштування у php.ini можна використовувати для обмеження кількості часу або ресурсів, які використовуються під час оцінювання регулярних виразів.

Назва За замовчуванням Опис Змінний
pcre.backtrack_limit "1000000" Максимальна кількість зворотних запитів, яку дозволено виконувати механізму регулярних виразів під час обчислення виразу (доступно, починаючи з PHP 5.2) PHP_INI_ALL
pcre.recursion_limit "100000" Максимальна глибина рекурсії, яку дозволено досягати механізму регулярних виразів під час обчислення виразу (доступно, починаючи з PHP 5.2) PHP_INI_ALL
pcre.jit "1" Якщо встановлено значення "1", увімкнеться оперативна компіляція PCRE (регулярні вирази, сумісні з Perl). (доступно з PHP 7.0) PHP_INI_ALL

PHP Функції регулярних виразів

Функція Опис
preg_filter() Повертає рядок або масив із заміненими збігами шаблону, але лише якщо збіги знайдено
preg_grep() Повертає масив, що складається лише з елементів вхідного масиву, які відповідають шаблону
preg_last_error() Повертає код помилки, який вказує на причину невдачі останнього виклику регулярного виразу
preg_match() Знаходить перший збіг шаблону в рядку
preg_match_all() Знаходить усі збіги шаблону в рядку
preg_replace() Повертає рядок, де збіги шаблону (або масиву шаблонів) замінено підрядком (або масивом підрядків) у заданому рядку
preg_replace_callback() За наявності виразу та зворотного виклику повертає рядок, у якому всі збіги виразу замінено підрядком, повернутим зворотним викликом
preg_replace_callback_array() Маючи масив, що асоціює вирази зі зворотними викликами, повертає рядок, у якому всі збіги кожного виразу замінено підрядком, повернутим зворотним викликом
preg_split() Розбиває рядок на масив, використовуючи збіги регулярного виразу як розділювачі
preg_quote() Екранує символи, які мають особливе значення в регулярних виразах, ставлячи перед ними зворотну скісну риску

Модифікатори регулярних виразів

Модифікатори можуть змінювати спосіб виконання пошуку.

Модифікатор Опис
i Виконує пошук без урахування регістру
m Виконує багаторядковий пошук (шаблони, які шукають початок або кінець рядка, відповідатимуть початку чи кінці кожного рядка)
u Вмикає правильну відповідність шаблонів у кодуванні UTF-8

Шаблони регулярних виразів

Дужки використовуються для пошуку діапазону символів:

Вираз Опис
[abc] Знайти один символ із варіантів у дужках
[^abc] Знайти будь-який символ НЕ в дужках
[0-9] Знайти один символ із діапазону від 0 до 9

Метасимволи

Метасимволи – це символи зі спеціальним значенням:

Метасимволи Опис
| Знайти збіг для будь-якого шаблону, розділеного | а саме: cat|dog|fish
. Знайти лише один екземпляр будь-якого символу
^ Знайти відповідність на початку рядка, як у: ^Hello
$ Знайти збіг у кінці рядка, як у: World$
\d Знайти цифру
\s Знайти пробіл
\b Знайти збіг на початку такого слова: \bWORD або в кінці такого слова: WORD\b
\uxxxx Знайти символ Unicode, заданий шістнадцятковим числом xxxx

Квантори

Квантори визначають кількість:

Квантор Опис
n+ Відповідає будь-якому рядку, який містить принаймні один n
n* Відповідає будь-якому рядку, який містить нуль або більше випадків n
n? Відповідає будь-якому рядку, який містить нуль або одне входження n
n{x} Відповідає будь-якому рядку, який містить послідовність X n's
n{x,y} Збігається з будь-яким рядком, який містить послідовність від X до Y n's
n{x,} Збігається з будь-яким рядком, який містить послідовність принаймні X n's

Примітка: Якщо ваш вираз потребує пошуку одного зі спеціальних символів, ви можете використовувати зворотну скісну риску ( \ ), щоб екранувати їх. Наприклад, для пошуку одного або кількох знаків запитання можна використати наступний вираз: $pattern = '/\?+/';