La funció preg_match() és una funció integrada de PHP que realitza una coincidència d'expressió regular. Aquesta funció cerca un patró a la cadena i retorna true si el patró existeix, en cas contrari retorna false.
Generalment, la cerca comença des del principi del paràmetre de cadena $subject. El paràmetre opcional $offset s'utilitza per iniciar la cerca des de la posició especificada.
Sintaxi
int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset)
Nota: $offset és un paràmetre opcional que especifica la posició des d'on començar la cerca.
Paràmetres
Aquesta funció accepta cinc paràmetres, que es descriuen a continuació:
patró
És un paràmetre de tipus cadena. Aquest paràmetre conté el patró per cercar com a cadena.
assignatura
Aquest paràmetre conté la cadena d'entrada en la qual cerquem el patró.
partits
Si es proporciona el paràmetre de coincidències, contindrà els resultats de la cerca.
coincidències[0] - Conté el text, que coincideix amb el patró complet.
coincidències[1] - Contindrà el text, que coincideix amb el primer subpatró capturat entre parèntesis, i així successivament.
banderes
encapsulació en java
Les banderes poden tenir les següents banderes que es mostren a continuació:
compensar
Per defecte, la cerca comença des del principi del paràmetre $subject. El paràmetre offset s'utilitza per especificar el lloc on començarà la cerca. És un paràmetre opcional.
Tipus de retorn
La funció preg_match() retorna true si el patró coincideix en cas contrari, retorna false.
Nota: Si només voleu comprovar si una cadena està continguda en una altra cadena, no feu servir la funció preg_match(). Utilitzeu la funció strpos() perquè serà més ràpid.
Exemples
<?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); ?>
Sortida:
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 ) )
Podem veure la sortida anterior com es mostra a continuació per entendre-la millor.
terminal kali linux
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 ) )
Exemples: cerca que no distingeix entre majúscules i minúscules
<?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.'; } ?>
Sortida:
Pattern matched in string. Array ( [0] => JTP )
Exemples: utilitzant el límit de paraula ()
<?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.'; } ?>
Sortida:
A match was found. A match was not found.
Exemples: extreu el nom del domini de l'URL
Sortida:
Domain name is: javatpoint.com
Sintaxi Regex (Expressió regular).
[abc] | Coincideix amb un sol caràcter: a, b o c |
[^abc] | Coincideix amb qualsevol caràcter menys a, b o c |
[a-z] | Coincideix amb qualsevol caràcter de l'interval a-z |
[a-zA-Z] | Qualsevol caràcter dins de l'interval a-z o A-Z |
^ | Inici de la línia |
$ | Final de línia |
A | Inici de la cadena |
Amb | Final de corda |
. | Qualsevol personatge |
s | Qualsevol caràcter d'espai en blanc |
S | Qualsevol caràcter que no sigui espai en blanc |
d | Qualsevol dígit |
D | Qualsevol que no sigui dígit |
En | Qualsevol caràcter de paraula (lletra, número, guió baix) |
IN | Qualsevol caràcter que no sigui una paraula |
Verificador de límits de paraules | |
/?/ | Inicia i acaba l'expressió regular |
(?) | Captura tot el que està entre parèntesis () |
(a|b) | a o b |
a? | Zero o un d'a |
a* | Zero o més d'a |
a+ | Un o més d'a |
a{3} | Exactament 3 d'a |
a{3,} | 3 o més d'a |
a{3,6} | Entre el 3 i el 6 de a |
i | Comprovació que no distingeix entre majúscules i minúscules |
m | Feu que el punt coincideixi amb les noves línies |
x | Ignora els espais en blanc a l'expressió regular |