A preg_match() függvény a PHP beépített függvénye, amely reguláris kifejezés egyeztetést hajt végre. Ez a függvény a karakterláncban keres mintát, és ha a minta létezik, igazat ad vissza, ellenkező esetben hamis értéket ad vissza.
Általában a keresés a $subject string paraméter elejétől kezdődik. Az opcionális $offset paraméterrel a keresés a megadott pozícióból indul.
Szintaxis
int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset)
Megjegyzés: Az $offset egy opcionális paraméter, amely meghatározza azt a pozíciót, ahonnan a keresést kezdeni kell.
Paraméterek
Ez a funkció öt paramétert fogad el, amelyeket az alábbiakban ismertetünk:
minta
Ez egy karakterlánc típusú paraméter. Ez a paraméter karakterláncként tárolja a keresendő mintát.
tantárgy
Ez a paraméter tartalmazza azt a bemeneti karakterláncot, amelyben mintát keresünk.
mérkőzések
Ha egyezési paramétert ad meg, az tartalmazza a keresési eredményeket.
mérkőzések[0] - Ez fogja tartani a szöveget, amely illeszkedik a teljes mintához.
mérkőzések[1] - Tartalmazza azt a szöveget, amely megegyezik az első rögzített zárójeles almintával, és így tovább.
zászlókat
add a tömbbe java
A zászlók az alábbi zászlókkal rendelkezhetnek:
beszámítás
Alapértelmezés szerint a keresés a $subject paraméter elejétől kezdődik. Az offset paraméterrel adjuk meg azt a helyet, ahol a keresés kezdődjön. Ez egy opcionális paraméter.
Visszatérés típusa
A preg_match() függvény igazat ad vissza, ha a minta egyébként egyezik, akkor hamis értéket ad vissza.
Megjegyzés: Ha csak azt szeretné ellenőrizni, hogy egy karakterlánc szerepel-e egy másik karakterláncban, ne használja a preg_match() függvényt. Használd az strpos() függvényt, mert gyorsabb lesz.
Példák
<?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); ?>
Kimenet:
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 ) )
A fenti kimenetet az alábbiak szerint láthatjuk, hogy jobban megértsük.
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 ) )
Példák: kis- és nagybetűk megkülönböztetése nélküli keresés
<?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.'; } ?>
Kimenet:
Pattern matched in string. Array ( [0] => JTP )
Példák: szóhatár használatával ()
<?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.'; } ?>
Kimenet:
A match was found. A match was not found.
Példák: vegye ki a domain nevet az URL-ből
Kimenet:
java regexben
Domain name is: javatpoint.com
Regex (reguláris kifejezés) szintaxis
[ABC] | Egyetlen karakterrel egyezik – a, b vagy c |
[^abc] | Bármelyik karakternek megfelel, kivéve az a, b vagy c karaktert |
[a-z] | Az a-z tartomány bármely karakterére illeszkedik |
[a-zA-Z] | Bármely karakter az a-z vagy az A-Z tartományon belül |
^ | Sor eleje |
$ | A sor vége |
A | A karakterlánc kezdete |
Val vel | A karakterlánc vége |
. | Bármelyik karakter |
s | Bármilyen szóköz karakter |
S | Bármilyen nem szóköz karakter |
d | Bármilyen számjegy |
D | Bármilyen nem számjegyű |
Ban ben | Bármely szó karakter (betű, szám, aláhúzás) |
BAN BEN | Bármilyen nem szó karakter |
Szóhatár-ellenőrző | |
/?/ | Elindítja és befejezi a reguláris kifejezést |
(?) | Rögzítsen mindent, ami zárójelben van () |
(a|b) | a vagy b |
a? | Nulla vagy egy a |
a* | Nulla vagy több a |
a+ | Egy vagy több a |
a{3} | Pontosan 3 a |
a{3,} | 3 vagy több a |
a{3,6} | 3 és 6 között a |
én | Kis- és nagybetű nem érzékeny ellenőrzés |
m | Tegye a pont megfelelő újsorokat |
x | A szóköz figyelmen kívül hagyása a reguláris kifejezésben |