Düzenli İfadeler(Regular Expressions) Nedir, Nasıl Kullanılır ?

Regular Expressions bir metni düzenlemek yada metni kurallar çerçevesinde oluşturabilmek veya türetebilmek amacıyla kullanılır. Hangi karakterler vardır ve anlamları nelerdir ?

 

“.” : Tek bir karakteri ifade eder.  Ctr.Delete : CtrlDelete , CtrsDelete, CtrtDelete olabilir , nokta yerine 1 karakter alabilir.

“[]” : İçerisindeki karakterleri içerir. [abc] a,b yada c olabilir ancak [a-z] dediğimiz zaman a’dan a’ye tüm karakteri  içerir anlamına gelir.

[0-9] ise bu aralıktaki rakamları belirtir. Büyük küçük harf duyarlı çalışır.

“?” :  Kendinden önceki karakterin varlığının olup yada olmamasını ifade eder. Ctrl?Delete : CtrDelete veya CtrlDelete olabilir.

“\S” :Boşluk yada tab karakteri dışındaki tük ifadeleri kapsar .

“\s” : Boşluk yada tab karakterini kapsar.

“*” : Kendinden önceki karakterin istediğiniz karak döndürülmesini sağlar. CtrlDelete* : CtrlDelete, CtrlDeleteeee.  CtrlDelet[a-z]* : CtrlDeleteee , CtrlDeletzzz gibi.

“{}” : Kendinden önce gelen karakteri sayısını belirtir. Ctrl{4}Delete : CtrllllDelete

“$”  : Bu karakterin solunda hangi ifade var ise satırın o şekilde bitmesi gerekir. ….CtrlDelete$

“+” : Kendinden önceki ifadenin en az bir yada daha fazla olmasını ifade eder.

“^” : Satır başındaki ifadeyi temsil eder. Eğer [ ] içerisinde kullanılırsa parantez içindeki ifadelerin dışında kalanları temsil eder.

“\d” : Herhangi bir rakamı temsil eder.

“\D” : Rakam olmayan herhangi bir ifadeyi temsil eder.

 

Örnek vermek gerekit ise ;

“(0?[1-9])” ifadesi 1,2,3,….9,01,02,03….,09’u ifade eder. “?” karakteri kendiden önce gelen ifadenin olup olmamasını belirtirdi.

“(90[0-9])” ifadesi 900,901,902,903,904….909’u ifade eder.

Örnek bir mail ifadesini tanılmamak gerekirse ; Regex ile mail aşağıdaki gibi yapılabilir ;

^[A-Z0-9._%+-]+@[A-Z0-9.-]+.(com|org|net|edu|gov|mil|biz|info|mobi)(.[A-Z]{2})?$

“@” önceki kısımda ^ ile başlanılan ifadeleri belirttik. [] içindeki ifadeler ile hangi karakterlerin kullanılacağını parantez sonrası + ile bunların bir yada daha fazla olması gerektiğini belirtmiş olduk.

@ işareti sonrasındaki alanalarda aynı şekilde [] ile kullanılacak karakterleri belirttik parantez sonrası + işaretiyle bir yada daha fazla olmaları gereltiğini belirttik, daha sonra () içerisindeki olması gereken uzantıları ve uzantı sonrası iki karakterlik {2} .tr gibi bir uzantı daha tanımlanacağını ancak ? ile tanımlanmasada olur ifadesi koymuş olduk.

 

 

Paylaş

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.