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 |