16 Nisan 2014 Çarşamba

PHP Düzenli İfadeler




işaretlerinin, Düzenli İfade işlemlerine ait olduğunu belirtilim. Bu işaretler ve onların arasına koyduğumuz karakter örnekleri ile, PHP'nin aradığımız bir metnin karakterlerinin hangi diziliş, sıralanış konumunda olduğuna bakarak, bize o metni bulmasını sağlarız; ya bu metni kullanırız, sileriz veya değiştiririz. Dolayısıyla, Düzenli İfade demek, bir diziliş, sıralanış biçimi demektir.

Eşleştirme deyimleri ve işaretler
PHP'nin karakter ve sıralanış eşlemede kullanılan düzenli ifade komutlarını kısaca ele alalım; sonra bunları kullanmamıza imkan veren fonksiyonları görelim.

^hakk

"hakk" ile başlayan bütün kelimeleri bulur.

edilemez$

Bu deyim ise PHP'ye "edilemez" ile biten bütün kelimeleri bulur

^hakkı$

PHP, başında ^ işareti, sonunda $ işareti bulunan kararter sıralanışını, aynen arar; yani bu deyim, birinci örnekteki üç cümleyi de bulamaz.
Ücretsiz Hosting
Hakk

Bu deyim ise her üç cümleyi de buldurur; çünkü üçünde de bu dört karakter bu sıralanışla mevcuttur. PHP'nin Düzenli İfadeleri, bütün rakam ve harfleri eşleştirebilir. Fakat sorun, özel karakterlerde çıkar. Sözgelimi, sekme işareti, satır sonlarında yeni-satır/satırbaşı işareti, gibi özel karakterleri, ancak önlerine Escape işareti olan ters bölü işaretini koyarak buluruz.

Düzenli İfadelerde Özel Karakterler

[\b]           Geri (Backspace) karakterini bulur.
\b             Belirtilen karakterle sınırlanan kelimeyi bulur: k\b, "hak mücadelesi" ifadesindeki birinci k'yı bulur; çünkü bu harf, bir kelime sınırlayıcıdır.
\B             Belirtilen karakterle sınırlanmayan kelime yoksa, başlayanı bulur: k\Bi, "üç kişi" ifadesindeki 'ki'yi bulur.
\cX           X yerine yazacağımız kontrol karakterini bulur. Örneğin, \cA, Ctrl+A'yı, \cZ ise Ctrl+Z'yi bulur.         
\d             0'dan 9'ya kadar bir rakamı bulur: IE\d, her ikisi de herhangi bir rakamla biten "IE5" ve "IE4" değerlerini ikisini de bulur,
\D            Herhangi bir ondalık işaretini bulur.
\f              Form-feed (kağıt çıkart) karakterini bulur.
\n             Newline (yeni satır) karakterini bulur.
\r              Return (satırbaşı) karakterini bulur.
\s              Boşluk (space) bulur.
\S             Yatay ve düşey sekme, kağıt-çıkart, yeni satır, satırbaşı ve boşluk dışındaki herhangi bir karakteri bulur.
\t              Yatay sekme (Tab) karakterini bulur.
\v             Düşey sekme karakterini bulur.
\w             Herhangi bir harf, rakam veya alt-çizgiyi bulur.
\W            Harf, rakam ve alt-çizgi dışındaki karakteri bulur.
\xHex      Verilen 16 tabanlı (Hexadecimal) sayıya uygun Escape karakterini bulur. Örneğin, \n25, % işaretini bulur.                            


Bu arada noktalama işaretlerini arattırırken, önlerine ters bölü işareti koymak gerekir. Ters bömü işaretini de yine önüne ters bölü işareti koyarak (\\) arttırabilirsiniz.

0 yorum:

Yorum Gönder