Функція preg_match() — це вбудована функція PHP, яка виконує збіг регулярного виразу. Ця функція шукає в рядку шаблон і повертає true, якщо шаблон існує, інакше повертає false.
Як правило, пошук починається з початку рядкового параметра $subject. Необов'язковий параметр $offset використовується для початку пошуку з указаної позиції.
Синтаксис
int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset)
Примітка: $offset є необов’язковим параметром, який визначає позицію, з якої починати пошук.
Параметри
Ця функція приймає п’ять параметрів, які описані нижче:
візерунок
Це параметр рядкового типу. Цей параметр містить шаблон для пошуку як рядок.
тема
Цей параметр містить вхідний рядок, у якому ми шукаємо шаблон.
сірники
Якщо вказано параметр відповідності, він міститиме результати пошуку.
матчі[0] - Він буде містити текст, який збігається з повним шаблоном.
матчі[1] - Він міститиме текст, який збігається з першим захопленим підшаблоном у дужках тощо.
прапори
масив у методах java
Прапори можуть мати наступні прапори, наведені нижче:
зсув
За замовчуванням пошук починається з початку параметра $subject. Параметр offset використовується для визначення місця, з якого буде розпочато пошук. Це необов'язковий параметр.
Тип повернення
Функція preg_match() повертає true, якщо шаблон збігається, інакше вона повертає false.
Примітка: якщо ви хочете лише перевірити, чи один рядок міститься в іншому рядку, не використовуйте функцію preg_match(). Використовуйте функцію strpos(), оскільки це буде швидше.
Приклади
<?php //initialize a variable of string type $site = 'javatpoint'; preg_match('/(java)(t)(point)/', $site, $matches, PREG_OFFSET_CAPTURE); //display the matches result print_r($matches); ?>
Вихід:
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Ми можемо побачити наведений вище результат, як наведено нижче, щоб краще зрозуміти його.
реєструвати пам'ять
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Приклади: пошук без урахування регістру
<?php //initialize a variable of string type $website = 'JTP is a best online platform to learn.'; //case insensitive search for word jtp //The 'i' after pattern delimiter indicates case-insensitive search $res = preg_match('/jtp/i', $website, $matches); if ($res) { echo 'Pattern matched in string.</br>'; print_r($matches); } else { echo 'Pattern not matched in string.'; } ?>
Вихід:
Pattern matched in string. Array ( [0] => JTP )
Приклади: за допомогою межі слова ()
<?php /* The indicates the word boundary in the pattern. So, it matches only the distinct word like 'web', and words like 'coreweb' or ' webinar' do not match partially.*/ if (preg_match('/web/i', 'PHP is a web scripting language.')) { echo 'A match was found. </br>'; } else { echo 'A match was not found. <br>'; } if (preg_match('/web/i', 'PHP is a website scripting language.')) { echo 'A match was found.'; } else { echo 'A match was not found.'; } ?>
Вихід:
A match was found. A match was not found.
Приклади: отримати доменне ім’я з URL-адреси
Вихід:
Domain name is: javatpoint.com
Синтаксис регулярного виразу (регулярного виразу).
[abc] | Відповідає одному символу - a, b або c |
[^abc] | Відповідає будь-якому одному символу, крім a, b або c |
[a-z] | Відповідає будь-якому одному символу в діапазоні a–z |
[a-zA-Z] | Будь-який окремий символ у діапазоні a-z або A-Z |
^ | Початок лінії |
$ | Кінець рядка |
А | Початок рядка |
З | Кінець рядка |
. | Будь-який окремий символ |
s | Будь-який пробіл |
S | Будь-який непробільний символ |
d | Будь-яка цифра |
D | Будь-який нецифровий |
В | Будь-який символ слова (буква, цифра, підкреслення) |
IN | Будь-який несловесний символ |
Перевірка меж слів | |
/?/ | Початок і завершення регулярного виразу |
(?) | Захопити все, що в дужках () |
(a|b) | a або b |
а? | Нуль або одне з a |
a* | Нуль або більше a |
a+ | Один або декілька з a |
а{3} | Рівно 3 з а |
a{3,} | 3 або більше з a |
a{3,6} | Між 3 і 6 а |
i | Перевірка без урахування регістру |
м | Зробити крапку збігом нового рядка |
х | Ігнорувати пробіли в регулярному виразі |