logo

PHP preg_match()-funktio

Preg_match()-funktio on PHP:n sisäänrakennettu funktio, joka suorittaa säännöllisen lausekkeen vastaavuuden. Tämä funktio etsii merkkijonosta kuviota ja palauttaa tosi, jos kuvio on olemassa, muuten palauttaa epätosi.

Yleensä haku alkaa $subject merkkijonoparametrin alusta. Valinnaista parametria $offset käytetään haun aloittamiseen määritetystä paikasta.

Syntaksi

 int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset) 

Huomautus: $offset on valinnainen parametri, joka määrittää paikan, josta haku aloitetaan.

Parametrit

Tämä toiminto hyväksyy viisi parametria, jotka kuvataan alla:

kuvio

Se on merkkijonotyyppinen parametri. Tämä parametri sisältää haun merkkijonona.

aihe

Tämä parametri sisältää syötemerkkijonon, josta etsimme kuviota.

Ottelut

Jos vastaavuusparametri on annettu, se sisältää hakutulokset.

ottelut[0] - Se säilyttää tekstin, joka vastaa koko kuviota.

ottelut[1] - Se sisältää tekstin, joka vastasi ensimmäistä kaapattua suluissa olevaa alikuviota ja niin edelleen.

liput

c joukko merkkijonoja

Liput voivat sisältää seuraavat alla olevat liput:

    PREG_OFFSET_CAPTURE:Jos tämä lippu välitetään parametrissa preg_match(), jokaiselle esiintyvälle vastaavuudelle palautetaan myös liitteenä oleva merkkijonopoikkeama.PREG_UNMATCHED_AS_NULL:Jos tämä lippu välitetään parametrissa preg_match(), täsmäämättömät alikuviot raportoidaan NULL-arvona, muuten ne raportoidaan tyhjänä merkkijonona.

offset

Oletusarvoisesti haku alkaa $subject-parametrin alusta. Offset-parametrilla määritetään paikka, josta haku alkaa. Se on valinnainen parametri.

Palautustyyppi

Funktio preg_match() palauttaa tosi, jos kuvio vastaa muuten, se palauttaa false.

Huomautus: Jos haluat vain tarkistaa, sisältyykö yksi merkkijono toiseen merkkijonoon, älä käytä preg_match()-funktiota. Käytä strpos()-funktiota, koska se on nopeampi.

Esimerkkejä

 <?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); ?> 

Lähtö:

 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 ) ) 

Voimme nähdä yllä olevan tuotoksen alla esitetyllä tavalla ymmärtääksemme sitä paremmin.

ahma vs mäyrä
 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 ) ) 

Esimerkkejä: haku, jossa kirjainkoolla ei ole merkitystä

 <?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; 

Lähtö:

 Pattern matched in string. Array ( [0] =&gt; JTP ) 

Esimerkkejä: käyttämällä sanan rajaa ()

 <?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; 

Lähtö:

 A match was found. A match was not found. 

Esimerkkejä: hanki verkkotunnuksen nimi URL-osoitteesta

 

Lähtö:

 Domain name is: javatpoint.com 

Regex (säännöllinen lauseke) syntaksi

[abc] Vastaa yhtä merkkiä - a, b tai c
[^abc] Vastaa mitä tahansa yksittäistä merkkiä paitsi a, b tai c
[a-z] Vastaa mitä tahansa yksittäistä merkkiä alueella a-z
[a-zA-Z] Mikä tahansa yksittäinen merkki välillä a-z tai A-Z
^ Linjan alku
$ Rivin loppu
A Merkkijonon alku
Kanssa Merkkijonon loppu
. Mikä tahansa yksittäinen merkki
s Mikä tahansa välilyöntimerkki
S Mikä tahansa muu kuin välilyöntimerkki
d Mikä tahansa numero
D Mikä tahansa ei-numeroinen
Sisään Mikä tahansa sanamerkki (kirjain, numero, alaviiva)
SISÄÄN Mikä tahansa ei-sanamerkki
 Sanan rajan tarkistus
/?/ Aloittaa ja päättää säännöllisen lausekkeen
(?) Tallenna kaikki suluissa oleva ()
(a|b) a tai b
a? Nolla tai yksi a
a* Nolla tai enemmän a
a+ Yksi tai useampi a
a{3} Täsmälleen 3/a
a{3,} 3 tai enemmän a
a{3,6} 3 ja 6 välillä a
i Kirjainkoolla ei ole merkitystä
m Tee pisteen rivienvaihto
x Ohita välilyönnit säännöllisissä lausekkeissa

Kuvion '[^[a-zA-Z0-9._-] +@[a-zA-Z0-9-]+.[a-zA-Z.]{2,5}$/] selittäminen

    ''/?/''Se näyttää säännöllisen lausekkeen alun ja lopun.'[^[a-zA-Z0-9._-]'Se vastaa mitä tahansa isoja tai pieniä kirjaimia, numeroita 0–9, pistettä, alaviivaa tai väliviivoja.'+@[a-zA-Z0-9-]'Se vastaa @-symbolia, jota seuraa isot tai pienet kirjaimet, numerot 0–9 tai väliviivat.'+.[a-zA-Z.]{2.5}$/'Piste poistetaan käyttämällä kenoviivaa, ja se vastaa sitten merkkijonon lopussa olevia pieniä tai isoja kirjaimia, joiden pituus on välillä 2–5.