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 |