Merkkijonon tarkistus säännöllisellä lausekkeella PHP:ssä
Hakutaan ja korvaaminen eivät lainkaan tyhjennä säännöllisten lausekkeiden mahdollisuuksia.
On olemassa myös preg_match -funktio,
joka tarkistaa, onko merkkijonossa vastaavuutta
säännöllisen lausekkeen kanssa. Funktio ottaa ensimmäisenä parametrina
säännöllisen lausekkeen ja toisena - tarkistettavan
merkkijonon.
Tässä tapauksessa, jos vastaavuuksia on paljon, -
funktio löytää vain ensimmäisen ja lopettaa työnsä.
Siksi funktio palauttaa joko 1,
tai 0 ja sitä käytetään vastaamaan
kysymykseen 'onko haettavaa merkkijonossa vai ei'.
Palauttaa yhden - tarkoittaa on (kuinka monta kertaa
- ei ole selvää), palauttaa nolla - tarkoittaa ei.
Katsotaanpa esimerkein. Tarkistetaan,
onko merkkijonossa osajono, joka koostuu
kirjaimesta 'a', toistettuna kerran tai useammin:
<?php
echo preg_match('#a+#', 'eee aaa bbb'); // tulostaa 1
?>
Nyt merkkijonossamme ei ole haettavaa, ja funktio
tulostaa 0:
<?php
echo preg_match('#a+#', 'eee bbb'); // tulostaa 0
?>
Määritä, onko merkkijonossa 3 numeroa
peräkkäin.
Määritä, alkaako annettu merkkijono
alkuosalla http.
Määritä, alkaako annettu merkkijono
alkuosalla http tai alkuosalla https.
Määritä, päättyykö annettu merkkijono
päätteeseen txt, html tai php.
Määritä, päättyykö annettu merkkijono
päätteeseen jpg tai jpeg.