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

Kot rezultat se bo v spremenljivko zapisalo naslednje:

php'! ! ! dxx'

Primer

Zdaj pa je vzorec iskanja takšen: prvi simbol je 'd' ali '^', nato dve črki 'x':

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

Kot rezultat se bo v spremenljivko zapisalo naslednje:

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

Kot rezultat se bo v spremenljivko zapisalo naslednje:

php'axx bxx ! !'

Praktične naloge

Задание 1

Podan je niz:

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

Задание 2

Podan je niz:

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

Задание 3

Podan je niz:

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