Regular Expression ,düzenli ifadeler, belirli kurallarla oluşturulmuş şablon dizisidir. Programcılıkta kullanılmasının sebebi, girilen bir verininin oluşturduğumuz ifade ile eşleşip eşleşmediğini test etmemize yarayan ifadeler olmasıdır. Regex olarak da bilinir.
Bütün programlama dillerinde kullanılabilen, esnek bir yapıdadır.
Regular Expression oluşturmak, okuyabilmek için bazı yapıları anlamamız gerekir.
Temel karakterler
.(Nokta) :Metin içerisindeki herhangi bir karakteri temsil eder. İfadede en fazla bir tane bulunabilir.
Örnek: M.RT Eşleşenler => MERT,MART Eşleşmeyen =>MAART
+(Artı) :Kendisinden önce gelen karakter, ifademizde bir veya daha fazla bulunabilir.(One or more)
Örnek: 9+ Eşleşenler => 9, 99, 999....
*(Yıldız) :Kendisinden önce gelen karakter, ifademizde hiç olmayabilir veya daha fazla bulunabilir.(Zero or more)
Örnek: 4*56 Eşleşenler =>456, 56,4456
? :Kendisinden önce gelen karakter, ifademizde 0 veya 1 kere gelecek olan karakterdir.
Örnek: Mert?Metin Eşleşenler => MertMetin veya MerMetin
[ ] : Köşeli parantez içindeki değerlerden sadece bir tanesi gelecektir
Örnek: [ea]: e veya a gelecektir.
[a1-a2]: Köşeli parantez içindeki a1 ile a2 arasında herhangi bir değer gelebilir.
Örnek: [a-k]:a ile k arasında gelecek bir değeri temsil eder.
{ } :{ } bu alan içerisinde belirtilen sayı, kendisinden önceki değerin eleman sayısıdır.
Örnek: [0-9]{4} 4 elemanlı rakam gelecek bir ifadeyi temsil eder
{a1,a2}: { } bu alan içerisinde en az a1 en fazla a2 elemanlı bir ifade oluşturacaktır.
Örnek: [a-zA-z]{3,5} en az 3 en fazla 5 elemanlı bir kelime oluşturacak.
^ : ifadenin başlangıcını ifade eder.Aynı zamanda negatif anlamda da kullanırız
Örnek:^M ifade, M ile başlayacaktır.
$ :ifadenin bittiğini ifade eder.
Örnek:M$ ifade, M ile bitti.
| : Veya anlamına gelir.
Örnek:(aa|ba) :aa veya ba gelecektir.
( ) :Parantezi gruplama yapmak için kullanırız.
Karakter sınıfları
\w: Bütün sözcükleri ifade eder. [a-zA-Z_0-9] ifadesi aynı sonucu döndürür.
\W: Sözcük olmayan ifadeleri içerir. [^a-zA-Z_0-9] ifadesi aynı sonucu döndürür.
\s : Boşluk karakteridir.
\d: Tek haneli bir sayıyı simgeler. [0-9] ifadesi aynı sonucu döndürür.
\D :Sayı olmayan ifadeleri içerir. [^0-9] ifadesi aynı sonucu döndürür.
\ Escape : Sağına yazdığımız değeri ifadede kullanırız: Örnek \( ifadesinin sonucu ( olacaktır.
Örnekler
Telefon numarası deseni: 0\([0-9]{3}\)-[0-9]{3}-[0-9]{2}-[0-9]{2} Eşleşen ifade: 0232-547-84-86
Tarih deseni: ^\d{1,2}\/\d{1,2}\/\d{4}$ Eşleşen ifade: 04/05/2018
Plaka: ^[0-9]{2}\s[A-Z]{2,3}\s([0-9]){2,4}$ Eşleşen ifade:34 MM 093
Tavsiye Edilen Kaynaklar
http://www.regexlib.com :RegExLib bir Regular Expressions kütüphanesidir. Oluşturmayı bilmeseniz bile hazır kaynakları burada bulabilir. Siz de oluşturup kütüphaneye ekleyebilirsiniz.
https://regex101.com :Online olarak Regular Expressions ifadeleri oluşturup test edebilirsiniz.
Bütün programlama dillerinde kullanılabilen, esnek bir yapıdadır.
Regular Expression oluşturmak, okuyabilmek için bazı yapıları anlamamız gerekir.
Temel karakterler
.(Nokta) :Metin içerisindeki herhangi bir karakteri temsil eder. İfadede en fazla bir tane bulunabilir.
Örnek: M.RT Eşleşenler => MERT,MART Eşleşmeyen =>MAART
+(Artı) :Kendisinden önce gelen karakter, ifademizde bir veya daha fazla bulunabilir.(One or more)
Örnek: 9+ Eşleşenler => 9, 99, 999....
*(Yıldız) :Kendisinden önce gelen karakter, ifademizde hiç olmayabilir veya daha fazla bulunabilir.(Zero or more)
Örnek: 4*56 Eşleşenler =>456, 56,4456
? :Kendisinden önce gelen karakter, ifademizde 0 veya 1 kere gelecek olan karakterdir.
Örnek: Mert?Metin Eşleşenler => MertMetin veya MerMetin
[ ] : Köşeli parantez içindeki değerlerden sadece bir tanesi gelecektir
Örnek: [ea]: e veya a gelecektir.
[a1-a2]: Köşeli parantez içindeki a1 ile a2 arasında herhangi bir değer gelebilir.
Örnek: [a-k]:a ile k arasında gelecek bir değeri temsil eder.
{ } :{ } bu alan içerisinde belirtilen sayı, kendisinden önceki değerin eleman sayısıdır.
Örnek: [0-9]{4} 4 elemanlı rakam gelecek bir ifadeyi temsil eder
{a1,a2}: { } bu alan içerisinde en az a1 en fazla a2 elemanlı bir ifade oluşturacaktır.
Örnek: [a-zA-z]{3,5} en az 3 en fazla 5 elemanlı bir kelime oluşturacak.
^ : ifadenin başlangıcını ifade eder.Aynı zamanda negatif anlamda da kullanırız
Örnek:^M ifade, M ile başlayacaktır.
$ :ifadenin bittiğini ifade eder.
Örnek:M$ ifade, M ile bitti.
| : Veya anlamına gelir.
Örnek:(aa|ba) :aa veya ba gelecektir.
( ) :Parantezi gruplama yapmak için kullanırız.
Karakter sınıfları
\w: Bütün sözcükleri ifade eder. [a-zA-Z_0-9] ifadesi aynı sonucu döndürür.
\W: Sözcük olmayan ifadeleri içerir. [^a-zA-Z_0-9] ifadesi aynı sonucu döndürür.
\s : Boşluk karakteridir.
\d: Tek haneli bir sayıyı simgeler. [0-9] ifadesi aynı sonucu döndürür.
\D :Sayı olmayan ifadeleri içerir. [^0-9] ifadesi aynı sonucu döndürür.
\ Escape : Sağına yazdığımız değeri ifadede kullanırız: Örnek \( ifadesinin sonucu ( olacaktır.
Örnekler
Telefon numarası deseni: 0\([0-9]{3}\)-[0-9]{3}-[0-9]{2}-[0-9]{2} Eşleşen ifade: 0232-547-84-86
Tarih deseni: ^\d{1,2}\/\d{1,2}\/\d{4}$ Eşleşen ifade: 04/05/2018
Plaka: ^[0-9]{2}\s[A-Z]{2,3}\s([0-9]){2,4}$ Eşleşen ifade:34 MM 093
Tavsiye Edilen Kaynaklar
http://www.regexlib.com :RegExLib bir Regular Expressions kütüphanesidir. Oluşturmayı bilmeseniz bile hazır kaynakları burada bulabilir. Siz de oluşturup kütüphaneye ekleyebilirsiniz.
https://regex101.com :Online olarak Regular Expressions ifadeleri oluşturup test edebilirsiniz.
Yorumlar
Yorum Gönder