Merkkiryhmät hakasulkeissa PHP:ssä
Merkkiryhmät \d, \D, \w,
\W, \s, \S []-sulkeiden sisällä
tarkoittavat edelleen ryhmiä, eli ne toimivat
edelleen komennoina.
Esimerkki
Tässä esimerkissä hakumalli on seuraava:
x-kirjainten välissä mikä tahansa numero tai kirjain
'a':sta 'f':ään:
<?php
$str = 'xax xbx x1x x2x xhx x@x';
$res = preg_replace('#x[\da-f]x#', '!', $str);
?>
Tuloksena muuttujaan kirjoitetaan seuraava:
'! ! ! ! xhx x@x'
Esimerkki
Tässä esimerkissä hakumalli on seuraava:
kirjain 'x', sitten ei-numero, ei-piste,
eikä pieni latinalainen kirjain, sitten kirjain
'z':
<?php
$str = 'xaz x1z xAz x.z x@z';
$res = preg_replace('#x[^\d.a-z]z#', '!', $str);
?>
Tuloksena muuttujaan kirjoitetaan seuraava:
'xaz x1z ! x.z !'
Käytännön tehtävät
Kirjoita säännöllinen lauseke, joka löytää merkkijonot
seuraavan mallin mukaan: numero tai piste 1
tai useamman kerran.
Kirjoita säännöllinen lauseke, joka löytää merkkijonot
seuraavan mallin mukaan: ei-numero eikä kirjain 'a':sta
'g':ään 3:sta 7:ään kertaan.