Funkcija preg_match() ir PHP iebūvēta funkcija, kas veic regulārās izteiksmes atbilstību. Šī funkcija virknē meklē modeli un atgriež True, ja modelis pastāv, pretējā gadījumā atgriež false.
Parasti meklēšana sākas no $subject virknes parametra sākuma. Izvēles parametrs $offset tiek izmantots, lai sāktu meklēšanu no norādītās pozīcijas.
Sintakse
int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset)
Piezīme: $offset ir izvēles parametrs, kas norāda vietu, no kuras sākt meklēšanu.
Parametri
Šī funkcija pieņem piecus parametrus, kas ir aprakstīti tālāk:
modelis
Tas ir virknes tipa parametrs. Šis parametrs satur šablonu, lai meklētu kā virkni.
priekšmets
Šis parametrs satur ievades virkni, kurā mēs meklējam modeli.
sērkociņi
Ja ir norādīts atbilstības parametrs, tas saturēs meklēšanas rezultātus.
spēles[0] - Tas saturēs tekstu, kas atbilst visam rakstam.
spēles[1] - Tajā būs teksts, kas atbilst pirmajam tvertajam iekavās pievienotajam apakšrakstam un tā tālāk.
karogi
maven krātuve
Karogiem var būt šādi tālāk norādītie karodziņi:
kompensēt
Pēc noklusējuma meklēšana sākas no parametra $subject sākuma. Nobīdes parametrs tiek izmantots, lai norādītu vietu, kur sāksies meklēšana. Tas ir izvēles parametrs.
kas ir $home linux
Atgriešanas veids
Funkcija preg_match() atgriež patieso vērtību, ja modelis atbilst citādi, tā atgriež false.
Piezīme. Ja vēlaties tikai pārbaudīt, vai viena virkne ir ietverta citā virknē, neizmantojiet funkciju preg_match(). Izmantojiet strpos() funkciju, jo tā būs ātrāka.
Piemēri
<?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); ?>
Izvade:
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 ) )
Mēs varam redzēt iepriekš minēto izvadi, kā norādīts tālāk, lai to labāk izprastu.
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 ) )
Piemēri: reģistrjutīga meklēšana
<?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.'; } ?>
Izvade:
Pattern matched in string. Array ( [0] => JTP )
Piemēri: izmantojot vārda robežu ()
<?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.'; } ?>
Izvade:
A match was found. A match was not found.
Piemēri: iegūstiet domēna nosaukumu no URL
Izvade:
Domain name is: javatpoint.com
Regex (regulārās izteiksmes) sintakse
[abc] | Atbilst vienai rakstzīmei — a, b vai c |
[^abc] | Atbilst jebkurai rakstzīmei, izņemot a, b vai c |
[a-z] | Atbilst jebkurai rakstzīmei diapazonā no a līdz z |
[a-zA-Z] | Jebkura atsevišķa rakstzīme diapazonā a–z vai A–Z |
^ | Rindas sākums |
$ | Rindas beigas |
A | Virknes sākums |
Ar | Virknes beigas |
. | Jebkura atsevišķa rakstzīme |
s | Jebkura atstarpes rakstzīme |
S | Jebkura rakstzīme, kas nav atstarpi |
d | Jebkurš cipars |
D | Jebkurš bez cipara |
In | Jebkura vārda rakstzīme (burts, cipars, pasvītra) |
IN | Jebkurš burts, kas nav vārds |
Vārdu robežu pārbaudītājs | |
/?/ | Sāk un beidz regulāro izteiksmi |
(?) | Uzņemiet visu, kas ir iekavās () |
(a|b) | a vai b |
a? | Nulle vai viens no a |
a* | Nulle vai vairāk a |
a+ | Viens vai vairāki no a |
a{3} | Tieši 3 no a |
a{3,} | 3 vai vairāk a |
a{3,6} | No 3 līdz 6 no a |
i | Reģistrācijas pārbaude |
m | Izveidojiet punktu atbilstību jaunām rindiņām |
x | Ignorēt atstarpes regulārajā izteiksmē |