PHP Düzenli İfadelerde Köşeli Parantezler İçinde Şapka Sembolü
Bildiğiniz gibi, [] içindeki şapka,
köşeli parantezlerin başına yazıldığında
olumsuzluk anlamına gelir.
Bu, onu bu parantezler içinde özel bir sembol yapar.
Şapkayı bir karakter olarak almak için
ya onu kaçırmalı ya da ilk sıradan kaldırmalısınız.
Örnek
Aşağıdaki örnekte arama kalıbı şu şekildedir:
ilk karakter 'd' hariç her şey,
sonra iki tane 'x' harfi.
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'! ! ! dxx'
Örnek
Şimdi ise arama kalıbı şu şekildedir: ilk karakter
'd' veya '^', sonra iki
tane 'x' harfi:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'axx bxx ! !'
Örnek
Şapkayı ilk sıradan kaldırmak yerine, ters eğik çizgi ile kaçırarak kendisini temsil etmesini sağlayabilirsiniz:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'axx bxx ! !'
Pratik Görevler
Bir dize verildi:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Aşağıdaki kalıba göre dizeleri bulacak bir düzenli ifade yazın: şapka veya @ işareti, ardından iki Latin harfi.
Bir dize verildi:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Aşağıdaki kalıba göre dizeleri bulacak bir düzenli ifade yazın: şapka veya @ işareti OLMAYAN, ardından iki Latin harfi.
Bir dize verildi:
<?php
$str = '^xx axx ^zz bkk';
?>
Aşağıdaki kalıba göre dizeleri bulacak bir düzenli ifade yazın: şapka OLMAYAN, ardından iki Latin harfi.