Symbol striešky vnútri množín v regulárnych výrazoch PHP
Ako viete, strieška vnútri [] robí
negáciu, keď je napísaná na začiatku zátvoriek.
To znamená, že je špeciálnym symbolom vnútri
týchto zátvoriek. Aby sme dostali striešku ako symbol,
je potrebné ju buď escapovať, alebo odstrániť z
prvej pozície.
Príklad
V nasledujúcom príklade je vzor vyhľadávania taký:
prvý symbol - je všetko okrem 'd',
potom dve písmená 'x'.
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
Výsledkom zapísaným do premennej bude:
'! ! ! dxx'
Príklad
A teraz je vzor vyhľadávania taký: prvý symbol
- je 'd' alebo '^', potom dve
písmená 'x':
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
Výsledkom zapísaným do premennej bude:
'axx bxx ! !'
Príklad
Nemusíme odstraňovať striešku z prvej pozície, stačí ju jednoducho escapovať pomocou spätného lomítka a bude predstavovať samú seba:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
Výsledkom zapísaným do premennej bude:
'axx bxx ! !'
Praktické úlohy
Daný reťazec:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: strieška alebo zavináč, a potom dve latinské písmená.
Daný reťazec:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: NIE strieška a nie zavináč, a potom dve latinské písmená.
Daný reťazec:
<?php
$str = '^xx axx ^zz bkk';
?>
Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: NIE strieška, a potom dve latinské písmená.