Функцията 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 ) )
Можем да видим горния резултат, както е даден по-долу, за да го разберем по-добре.
как да инициализирате масив в java
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
Синтаксис на Regex (регулярен израз).
[abc] | Съвпада с един знак - a, b или c |
[^abc] | Съвпада с който и да е един символ освен a, b или c |
[a-z] | Съвпада с всеки отделен знак в диапазона a-z |
[a-zA-Z] | Всеки отделен знак в диапазона a-z или A-Z |
^ | Начало на реда |
$ | Край на реда |
A | Начало на низ |
С | Край на низ |
. | Всеки отделен знак |
с | Всеки празен знак |
С | Всеки знак, който не е интервал |
д | Всяка цифра |
Д | Всички нецифрени |
In | Всяка дума (буква, цифра, долна черта) |
IN | Всеки несловен знак |
Проверка на границите на думите | |
/?/ | Стартира и завършва регулярния израз |
(?) | Заснемане на всичко, оградено в скоби () |
(a|b) | a или b |
а? | Нула или едно от a |
а* | Нула или повече от a |
а+ | Едно или повече от a |
а{3} | Точно 3 от а |
a{3,} | 3 или повече от a |
а{3,6} | Между 3 и 6 от а |
аз | Проверка без регистър |
м | Направете точка съвпадение на новия ред |
х | Игнорирайте интервала в регулярния израз |