Функцията 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 от а |
| аз | Проверка без регистър |
| м | Направете точка съвпадение на новия ред |
| х | Игнорирайте интервала в регулярния израз |