⊗ppPmRgSHy 238 of 447 menu

PHP Düzenli İfadelerde Köşeli Parantez İçinde Tire

Tire - [] içinde özel bir karakterdir (ancak dışarıda - değildir). Tire'yi bir karakter olarak kendisi için kullanmak istiyorsanız, onu bir grup ayırıcısı olarak algılanmayacağı bir yere koyun.

Bu neden önemli: Farkında olmadan bir karakter grubu oluşturabilirsiniz. Örneğin, [:-@] - siz iki nokta üst üste, tire ve @ işaretini seçtiğinizi düşünürsünüz, ancak aslında : ile @ arasındaki karakterlerin grubu oluşur. Bu gruba şu karakterler dahildir: :, ;, ?, <, =, >.

Bunlar nereden geliyor? ASCII tablosundan - iki nokta üst üstenin numarası, @ işaretininkinden küçüktür - ve bir grup oluşur. Yani tüm gruplar ASCII tablosuna göre oluşur (isterseniz bundan faydalanabilirsiniz).

Bununla nasıl başa çıkılır: Tire karakterini, kesinlikle bir grup sembolü olarak algılanmayacağı bir yere, örneğin başında veya sonunda koyun (yani ['den sonra veya ]'den önce).

Ayrıca tireyi kaçırabilirsiniz (escape) - o zaman konumu ne olursa olsun kendisini temsil edecektir. Örneğin, [:-@] yerine [:\-@] yazın - ve artık bir grup olmayacak, bunun yerine üç karakter olacak - iki nokta üst üste, tire ve @ işareti.

Örnek

Aşağıdaki örnekte arama kalıbı şudur: 1 rakamı, ardından 'a' ile 'z' arasında bir harf, ardından 2 rakamı:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[a-z]2#', '!', $str); ?>

Sonuç olarak değişkene aşağıdaki yazılacaktır:

'! 1-2 ! !'

Örnek

Şimdi tireyi kaçıralım. Sonuçta arama kalıbı şudur: 1 rakamı, ardından 'a' harfi, veya tire, veya 'z' harfi, ardından 2 rakamı:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[a\-z]2#', '!', $str); ?>

Sonuç olarak değişkene aşağıdaki yazılacaktır:

'! ! 1c2 !'

Örnek

Tireyi kaçırmadan sadece yerini değiştirebilirsiniz:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[az-]2#', '!', $str); ?>

Sonuç olarak değişkene aşağıdaki yazılacaktır:

'! ! 1c2 !'

Örnek

Aşağıdaki örnekte arama kalıbı şudur: ilk karakter - küçük harfler veya tire '-', ardından iki tane 'x' harfi:

<?php $str = 'axx Axx -xx @xx'; $res = preg_replace('#[a-z-]xx#', '!', $str); ?>

Sonuç olarak değişkene aşağıdaki yazılacaktır:

'! Axx ! @xx'

Örnek

Aşağıdaki örnekte arama kalıbı şudur: ilk karakter - küçük harfler, büyük harfler veya tire '-', ardından iki tane 'x' harfi:

<?php $str = 'axx Axx -xx @xx'; $res = preg_replace('#[a-zA-Z-]xx#', '!', $str); ?>

Sonuç olarak değişkene aşağıdaki yazılacaktır:

'! ! ! @xx'

Örnek

Tireyi iki grubun arasına yerleştirebilirsiniz - orada kesinlikle başka bir grup oluşturmayacaktır:

<?php $str = 'axx 9xx -xx @xx'; $res = preg_replace('#[a-z-0-9]xx#', '!', $str); ?>

Sonuç olarak değişkene aşağıdaki yazılacaktır:

'! ! ! @xx'

Pratik Görevler

Bir string veriliyor:

<?php $str = 'xaz xBz xcz x-z x@z'; ?>

Şu kalıba uyan tüm stringleri bulun: 'x' harfi, büyük veya küçük harf veya tire, 'z' harfi.

Bir string veriliyor:

<?php $str = 'xaz x$z x-z xcz x+z x%z x*z'; ?>

Şu kalıba uyan tüm stringleri bulun: 'x' harfi, ardından dolar işareti, veya tire veya artı işareti, ardından 'z' harfi.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet