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<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[^d]xx#', '!', $str);
?>

Tulemusena kirjutatakse muutujasse järgmine:

php'! ! ! dxx'

Näide

Nüüd on otsimismustriks: esimene sümbol on 'd' või '^', seejärel kaks tähte 'x':

php<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[d^]xx#', '!', $str);
?>

Tulemusena kirjutatakse muutujasse järgmine:

php'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<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[\^d]xx#', '!', $str);
?>

Tulemusena kirjutatakse muutujasse järgmine:

php'axx bxx ! !'

Praktilised ülesanded

Задание 1

Antud on sõne:

php<?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.

Задание 2

Antud on sõne:

php<?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.

Задание 3

Antud on sõne:

php<?php
  $str = '^xx axx ^zz bkk';
?>

Kirjutage regulaaravaldis, mis leiab sõned vastavalt mustrile: MITTE katusmärk, seejärel kaks ladina tähte.