A kalap jel a halmazokon belül a PHP reguláris kifejezéseiben
Mint tudod, a kalap jel a [] zárójelek között
negálást jelent, ha a zárójelek elején szerepel.
Ez azt jelenti, hogy speciális karakter ezekben
a zárójelekben. Ahhoz, hogy a kalap jelet sima karakterként kapjuk meg,
vagy el kell menekítenünk, vagy el kell távolítanunk
az első helyről.
Példa
A következő példában a keresési minta a következő:
az első karakter minden, kivéve a 'd',
majd két 'x' betű.
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
Ennek eredményeképpen a változóba a következő íródik:
'! ! ! dxx'
Példa
Most pedig a keresési minta a következő: az első karakter
a 'd' vagy a '^', majd két
'x' betű:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
Ennek eredményeképpen a változóba a következő íródik:
'axx bxx ! !'
Példa
A kalap jelet nem kell eltávolítanunk az első helyről, egyszerűen elmenekíthetjük a visszaperjellel, és ekkor önmagát fogja jelölni:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
Ennek eredményeképpen a változóba a következő íródik:
'axx bxx ! !'
Gyakorlati feladatok
Adott a következő sztring:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Írjon reguláris kifejezést, amely megtalálja a sztringeket a következő minta szerint: kalap jel vagy kukac, majd két latin betű.
Adott a következő sztring:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Írjon reguláris kifejezést, amely megtalálja a sztringeket a következő minta szerint: NEM kalap jel és nem kukac, majd két latin betű.
Adott a következő sztring:
<?php
$str = '^xx axx ^zz bkk';
?>
Írjon reguláris kifejezést, amely megtalálja a sztringeket a következő minta szerint: NEM kalap jel, majd két latin betű.