Merhaba,

Kendi ihtiyacım için bakınırken bir sitede Düzenli İfadeler’e (Regular Expressions ya da RegEx) yönelik temelden başlayan güzel bir yazı gördüm ve faydası dokunabileceğini düşünere Türkçeleştirmeye karar verdim. Umarım faydası dokunur.

Bildiğiniz gibi düzenli ifadeler form doğrulamanın en önemli parçası olup, aynı zamanda da metin aramalarında, değiştirmelerinde ve bot tarzı web crawl altyapılarında da yaygın şekilde kullanılmaktadır. Aşağıdaki yazıda Düzenli İfadeler’i anlamanız ve yazabilmeniz için yardımı dokunacak birkaç ipucunu bulacaksınız.

Aşama 1

Sembol Açıklama
^ String Başlangıcı
$ String Sonu
. Herhangi Tek Bir Karakter
+ Bir ya da daha fazla karakter
\ Özel karakteri yoksaymak için (Escape)
? Sıfır ya da daha fazla karakter

Örnekler:

Tam olarak “abc” ile eşleşsin:

“abc” ile başlasın:

“abc” ile bitsin:

“abc” ve bir karaktere daha izin verilsin: (Ör: abcx)

“abc” ile başlayıp birden fazla karaktere daha izin verilsin: (Ör: abcxy)

Tam olarak “abc.def” ile eşleşsin: (Nokta işaretinin yoksayıldığına (Escape’lendiğine) dikkat ediniz.)

“abc” ile başlayan herşey kabul edilsin: (Burada Sadece “abc” ya da “abcxyz123sda” olabilir.)

Aşama 2

Kullanım Açıklama
[abc] Herhangi bir karakter ile eşleşmeli
[^abc] Herhangi bir karakter ile eşleşmemeli
[a-zA-Z0-9] Küçük harfler, büyük harfler ve rakamlar
[a-z-._] Küçük harf a-z arası ve özel karakterler
(.*?) Aradaki her şeyi al
(com|info) “com” ya da “info” olmak zorundadır
{2} Tam olarak 2 karakter
{2,3} Minimum iki, maksimum üç karakter
{2,} İki karakterden fazla

Şimdi bunların hepsini bir URL doğrulama için bir arada kullanalım:

Aşama 3

 

 

Kısa Hali Karşılığı Açıklama
\d [0-9] Herhangi bir rakam değeri
\D [^0-9] Rakam olmayan herhangi bir değer
\w [a-zA-Z0-9_] Harf, Rakam ve Alt çizgi
\W [^a-zA-Z0-9_] Harf, Rakam ve Alt çizgi olmayan
\s Boşluk (Beyaz boşluk)
\S Boşluk (Beyaz boşluk) olmayan değer

 

Bir telefon numarası doğrulama örneği:

 

Umarım faydası dokunur.

İyi günler dilerim.

Bu yazı bugün 0 kere olmak üzere toplam 98 kere okundu.