Simbol strešice znotraj nizov v regularnih izrazih PHP
Kot veste, strešica znotraj [] naredi
negacijo, če je zapisana na začetku oklepajev.
To pomeni, da je poseben simbol znotraj
teh oklepajev. Da dobimo strešico kot simbol,
jo moramo ali escapirati ali odstraniti z
prvega mesta.
Primer
V naslednjem primeru je vzorec iskanja takšen:
prvi simbol je vse razen 'd',
nato dve črki 'x'.
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'! ! ! dxx'
Primer
Zdaj pa je vzorec iskanja takšen: prvi simbol
je 'd' ali '^', nato dve
črki 'x':
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'axx bxx ! !'
Primer
Ni potrebno odstraniti strešice s prvega mesta, ampak jo lahko preprosto escapirate z uporabo poševnice nazaj, in takrat bo predstavljala samo sebe:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'axx bxx ! !'
Praktične naloge
Podan je niz:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Napišite regularni izraz, ki bo našel nize po vzorcu: strešica ali afna, nato dve latinični črki.
Podan je niz:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Napišite regularni izraz, ki bo našel nize po vzorcu: NE strešica in ne afna, nato dve latinični črki.
Podan je niz:
<?php
$str = '^xx axx ^zz bkk';
?>
Napišite regularni izraz, ki bo našel nize po vzorcu: NE strešica, nato dve latinični črki.