logo

PHP preg_match() funkcija

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:

    PREG_OFFSET_CAPTURE:Ja šis karodziņš tiek nodots preg_match(), katrai atbilstībai tiks atgriezta arī pievienotā virknes nobīde.PREG_UNMATCHED_AS_NULL:Ja šis karodziņš tiek nodots preg_match(), nesaskaņotais apakšmodelis tiks ziņots kā NULL, pretējā gadījumā tie tiks ziņoti kā tukša virkne.

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] =&gt; Array ( [0] =&gt; javatpoint [1] =&gt; 0 ) [1] =&gt; Array ( [0] =&gt; java [1] =&gt; 0 ) [2] =&gt; Array ( [0] =&gt; t [1] =&gt; 4 ) [3] =&gt; Array ( [0] =&gt; point [1] =&gt; 5 ) ) 

Mēs varam redzēt iepriekš minēto izvadi, kā norādīts tālāk, lai to labāk izprastu.

 Array ( [0] =&gt; Array ( [0] =&gt; javatpoint [1] =&gt; 0 ) [1] =&gt; Array ( [0] =&gt; java [1] =&gt; 0 ) [2] =&gt; Array ( [0] =&gt; t [1] =&gt; 4 ) [3] =&gt; Array ( [0] =&gt; point [1] =&gt; 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>&apos;; print_r($matches); } else { echo &apos;Pattern not matched in string.&apos;; } ?&gt; 

Izvade:

 Pattern matched in string. Array ( [0] =&gt; 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>&apos;; } else { echo &apos;A match was not found. <br>&apos;; } if (preg_match(&apos;/web/i&apos;, &apos;PHP is a website scripting language.&apos;)) { echo &apos;A match was found.&apos;; } else { echo &apos;A match was not found.&apos;; } ?&gt; 

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ē

Izskaidrojot paraugu '[^[a-zA-Z0-9._-] +@[a-zA-Z0-9-]+.[a-zA-Z.]{2,5}$/]'

    ''/?/''Tas parāda regulārās izteiksmes sākumu un beigas.'[^[a-zA-Z0-9._-]'Tas atbilst visiem lielajiem vai mazajiem burtiem, cipariem no 0 līdz 9, punktam, pasvītrai vai domuzīmei.'+@[a-zA-Z0-9-]'Tas atbilst simbolam @, kam seko lielie vai mazie burti, cipari no 0 līdz 9 vai domuzīmes.'+.[a-zA-Z.]{2,5}$/'Punkts tiek izspiests, izmantojot atpakaļvērstās slīpsvītras, un pēc tam atbilst visiem mazajiem vai lielajiem burtiem, kuru garums ir no 2 līdz 5 virknes beigās.