Katusmärgi sümbol regulaaravaldiste hulkades PHP-s
Nagu teate, teeb katusmärk [] sees
eituse, kui see on kirjutatud sulgude algusesse.
See tähendab, et see on spetsiaalsümbol nende
sulgude sees. Katusmärgi saamiseks sümbolina
tuleb see kas ekraanida või viia esimeselt kohalt
eemale.
Näide
Järgmises näides on otsimismustriks:
esimene sümbol on kõik muu peale 'd',
seejärel kaks tähte 'x'.
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
Tulemusena kirjutatakse muutujasse järgmine:
'! ! ! dxx'
Näide
Nüüd on otsimismustriks: esimene sümbol
on 'd' või '^', seejärel kaks
tähte 'x':
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
Tulemusena kirjutatakse muutujasse järgmine:
'axx bxx ! !'
Näide
Katusmärki ei pea esimeselt kohalt eemaldama, vaid selle võib lihtsalt ekraanida tagurpidi kaldkriipsuga, ja see hakkab tähendama ennast:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
Tulemusena kirjutatakse muutujasse järgmine:
'axx bxx ! !'
Praktilised ülesanded
Antud on sõne:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Kirjutage regulaaravaldis, mis leiab sõned vastavalt mustrile: katusmärk või @-märk, seejärel kaks ladina tähte.
Antud on sõne:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Kirjutage regulaaravaldis, mis leiab sõned vastavalt mustrile: MITTE katusmärk ega @-märk, seejärel kaks ladina tähte.
Antud on sõne:
<?php
$str = '^xx axx ^zz bkk';
?>
Kirjutage regulaaravaldis, mis leiab sõned vastavalt mustrile: MITTE katusmärk, seejärel kaks ladina tähte.