PHP-də RegEx-lərdə dəstlər içində şapka simvolu
Bildiyiniz kimi, [] içindəki şapka simvolu,
mötərizələrin əvvəlində yazıldıqda, inkar mənası verir.
Bu o deməkdir ki, o, bu mötərizələr içində xüsusi simvoldur.
Şapkanı simvol kimi əldə etmək üçün ya onu escape etməli,
ya da birinci yerdən çıxarmalısınız.
Nümunə
Aşağıdakı nümunədə axtarış şablonu belədir:
birinci simvol 'd' istisna olmaqla hər şey,
sonra isə iki 'x' hərfi.
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! ! dxx'
Nümunə
İndi isə axtarış şablonu belədir: birinci simvol
'd' və ya '^', sonra isə iki
'x' hərfi:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
Nəticədə dəyişənə aşağıdakı yazılacaq:
'axx bxx ! !'
Nümunə
Şapkanı birinci yerdən çıxarmağa ehtiyac yoxdur, sadəcə onu backslash ilə escape edə bilərsiniz, və o, özünü ifadə edəcək:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
Nəticədə dəyişənə aşağıdakı yazılacaq:
'axx bxx ! !'
Praktiki tapşırıqlar
Verilmiş sətir:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Aşağıdakı şablona uyğun gələn sətirləri tapan regular ifadəni yazın: şapka və ya işarə @, sonra isə iki latın hərfi.
Verilmiş sətir:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Aşağıdakı şablona uyğun gələn sətirləri tapan regular ifadəni yazın: şapka və ya işarə @ OLMASIN, sonra isə iki latın hərfi.
Verilmiş sətir:
<?php
$str = '^xx axx ^zz bkk';
?>
Aşağıdakı şablona uyğun gələn sətirləri tapan regular ifadəni yazın: şapka OLMASIN, sonra isə iki latın hərfi.