Düzenli İfade (Regex-Regexp) nedir? ne işe yarar? nasıl yazılır?

RegEx yada yazımlarda kullanılan başka bir kısa ifade ile RegExp – “Regular Expression” İngilizce kelimelerinin kısaltılıp birleştirilmiş halidir. Regular Expression’ın Türkçe karşılığı “Düzenli İfade” anlamına gelmektedir.

Düzenli ifadeleri programlama da mevcut değerlerin bize sonradan ulaşacak olan değerlere uygun olup olmadığının kontrolünün yapılmasını sağlar.

RegEx niçin kullanılır a bir örnek şöyle verebiliriz, mevcut bağlantı adresi listeniz var ve bu bağlantı adresleri listesinin başlangıç kısmını değiştirdiniz ancak daha önceden bu bağlantı adreslerinizi alan diğer kişiler veya arama motorları bu adreslere ulaşmaya çalıştıklarında sayfa bulunamadı hatası (404 hatası) alırlar bunun önüne geçebilmek için mevcut bağlantınıza gelen sorguları gerçek çalışan sayfa adreslerine yada başka bir adrese yönlendirebilirsiniz. Bu tarz yüzlerce konu için yüzlerce farklı kontrol gerektiren işleri tek bir RegEx satırı ile yapabilirsiniz.

Düzenli ifadelerde kullanabileceğiniz ifadelerin açıklamaları şöyledir:

^ => düzenli ifademizin başlangıcını ifade eder.
$ => düzenli ifademizin bitişini ifade eder.
[0-9] => 0 dan 9 a kadar olan sayıları kabul eder.
[\d] => bir üst satırdaki gibi sadece rakamları kabul eder.
[A-Z] => büyük harfler şeklinde A’dan Z’ye kadar olan karakterleri kabul eder.
[a-z] => küçük harfler şeklinde a’dan z’ye kadar olan karakterleri kabul eder.
[^bc] => küçük harfler şeklinde b ve c haricindeki karakterleri kabul eder.
. => herhangi bir karakterin kabul edileceiğini belirtir. (karakter girilmemişte dahildir)
\d => rakamları ifade eder. Başka bir gösterim şekli ile şöyledir [0-9]
\D => rakam olmayan karakterleri ifade eder. Başka bir gösterim şekli ile şöyledir [^0-9]
\s => beyaz boşluk karakterleri ifade eder bunlar şöyledir [ \t\n\x0B\f\r]
\S => beyaz boşluk olmayan karakteri ifade eder. Boşluk, sekme, yeni satır vs. Başka bir gösterim şekli ile şöyledir [^\s]
\w => kelime karakterleri ifade eder. Başka bir gösterim şekli ile şöyledir [a-zA-Z_0-9]
\W => kelime karakterleri haricindeki ifade eder. Başka bir gösterim şekli ile şöyledir [^\w]
Nicelik:
a? => a ifadesinden bir yada hiç olmayabilir
a* => a ifadesinden hiç olmayabilir yada daha fazla kez olabilir
a+ => a ifadesinden bir yada daha çok olabilir
a{n} => a ifadesinden n kez
a{n,} => a ifadesinden en az n kez
a{n,m} => a ifadesindne en az n kez ama en çokta m kez
| => veya anlamında kullanılır.
? => soru işareti bize bu karakterden önceki ifademizin olabileceğini yada olmayabileceğini ifade eder. Kullanımı “ifademiz?” şeklindedir.

\ => Ters bölü işareti kaçış(escape) görevi görür. “/” (bölü işareti), “-” çizgi işareti, “_” (alt çizgi) gibi işaretleri düz yazı gibi yazamazsınız, bu karakterlerden önce kaçış karakterini ekleriz.
Java da çift ters bölü işareti JavaScript te ise tek ters bölü işareti kullanılır.

“%_!’,~#;:@&=” gibi karakterlerde kaçış(escape) karakteri kullanmasanız da olur.

RegEx nasıl kullanılır sorusunun cevabına ve Hazır Düzenli ifadelerin (RegEx) listesine buradan ulaşabilirsiniz.

Share on Facebook0Tweet about this on TwitterShare on Google+0Share on StumbleUpon0Share on Reddit0

Leave a Reply


*