Funcția preg_match() este o funcție încorporată a PHP care realizează o potrivire a expresiei regulate. Această funcție caută în șir model și returnează adevărat dacă modelul există, altfel returnează false.
În general, căutarea începe de la începutul parametrului șir $subject. Parametrul opțional $offset este utilizat pentru a începe căutarea din poziția specificată.
Sintaxă
int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset)
Notă: $offset este un parametru opțional care specifică poziția de unde se începe căutarea.
Parametrii
Această funcție acceptă cinci parametri, care sunt descriși mai jos:
model
Este un parametru de tip șir. Acest parametru păstrează modelul de căutat ca șir.
subiect
Acest parametru deține șirul de intrare în care căutăm modelul.
chibrituri
Dacă este furnizat parametrul de potrivire, acesta va conține rezultatele căutării.
meciuri[0] - Va reține textul, care se potrivește cu modelul complet.
meciuri[1] - Va conține textul, care s-a potrivit cu primul submodel capturat între paranteze și așa mai departe.
steaguri
c matrice de șiruri
Steagurile pot avea următoarele steaguri prezentate mai jos:
decalaj
În mod implicit, căutarea începe de la începutul parametrului $subject. Parametrul offset este utilizat pentru a specifica locul de unde va începe căutarea. Este un parametru opțional.
plutind css
Tip de returnare
Funcția preg_match() returnează true dacă modelul se potrivește altfel, returnează false.
Notă: Dacă doriți doar să verificați dacă un șir este conținut într-un alt șir, nu utilizați funcția preg_match(). Utilizați funcția strpos() deoarece va fi mai rapidă.
Exemple
<?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); ?>
Ieșire:
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 ) )
Putem vedea rezultatul de mai sus așa cum este prezentat mai jos pentru a o înțelege mai bine.
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 ) )
Exemple: căutare fără majuscule
<?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.'; } ?>
Ieșire:
Pattern matched in string. Array ( [0] => JTP )
Exemple: prin utilizarea limitei cuvântului ()
<?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.'; } ?>
Ieșire:
A match was found. A match was not found.
Exemple: scoateți numele de domeniu din URL
Ieșire:
Domain name is: javatpoint.com
Sintaxa Regex (Expresie regulată).
[abc] | Se potrivește cu un singur caracter - a, b sau c |
[^abc] | Se potrivește cu orice caracter, cu excepția a, b sau c |
[a-z] | Se potrivește cu orice caracter individual din intervalul a-z |
[a-zA-Z] | Orice caracter unic din intervalul a-z sau A-Z |
^ | Începutul liniei |
$ | Sfârșitul liniei |
A | Începutul șirului |
Cu | Sfârșitul șirului |
. | Orice personaj |
s | Orice caracter alb |
S | Orice caracter fără spații albe |
d | Orice cifră |
D | Orice non-cifră |
În | Orice caracter de cuvânt (litera, cifra, caracterul de subliniere) |
ÎN | Orice caracter non-cuvânt |
Verificator de limite de cuvinte | |
/?/ | Începe și termină expresia regulată |
(?) | Capturați tot ce este inclus în paranteză () |
(a|b) | a sau b |
A? | Zero sau unul dintre a |
A* | Zero sau mai multe dintre a |
a+ | Una sau mai multe dintre a |
a{3} | Exact 3 din a |
a{3,} | 3 sau mai multe din a |
a{3,6} | Între 3 și 6 din a |
i | Verificare fără majuscule |
m | Faceți potrivire cu punctele noi |
X | Ignorați spațiile în regex |