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:
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] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Voimme nähdä yllä olevan tuotoksen alla esitetyllä tavalla ymmärtääksemme sitä paremmin.
ahma vs mäyrä
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 ) )
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>'; print_r($matches); } else { echo 'Pattern not matched in string.'; } ?>
Lähtö:
Pattern matched in string. Array ( [0] => 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>'; } 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.'; } ?>
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 |