Regex

Regex bir çok uygulama ve programlama dilleri (arasında farklılıklar olsa da) tarafından desteklenir. Regex’i anlatmanın en iyi yolu en sık kullanılan regex ifadelerini örneklerle göstermek olacaktır.

[0-9] : Text içerisinde 0 ile 9 arasındaki herhangi bir rakam ile eşleşir. [ ] içerisindekiler birer küme elemanıdır.

[0-25-8] : Text içerisinde 0 ile 2 ve 5 ile 8 arasındaki herhangi bir rakam ile eşleşir.

[134] : Text içerisinde 1,3 veya 4 rakamlarıyla eşleşir.

[2-4[6]] : 2 ile 4 arasında ve 6 rakamlarıyla eşleşir. İki kümeyi iç içe [ ] kullanarak birleştirebilirsiniz.

[a-z] : Text içerisinde a ile z arasındaki bir karakter ile eşleşir.

[a-zA-Z] : Text içerisinde küçük ve büyük a ve z ile eşleşir.

[yz] : Text içerisinde y veya z karakterleriyle eşleşir.

\s : Text içerisinde boşluk karakteriyle eşleşir.

\S : Text içerisinde boşluk olmayan karakterleriyle eşleşir.

\d : Text içerisinde herhangi bir rakam ile eşleşir.

\D : Text içerisinde rakam olmayanlarla eşleşir.

\w : Text içerisinde boşluk dışındaki karakterlerle eşleşir.

[^0-4] : Text içerisinde 0 ile 4 arasında olmayan tüm rakamları seçer. [ ] içeresinde ^ işareti değilse anlamına gelir.

abc..123 : abc ile başlayıp 2 adet herhangi bir karakterden sonra 123 ile devam edenlerle eşleşir. Nokta işareti herhangi bir karakter anlamına gelir.

abc|123 : abc veya 123 ile eşleşir. | işareti veya anlamına gelir.

(abc)(123) : abc123 ile eşleşir. abc ile 123 ü gruplara ayırır. Bu gruplar capture özelliği varsa seçilebilir. 1. grup abc, 2. grup 123 ‘dür. ( ) içerisine alarak içeriği gruplayabilirsiniz.

a{2} : 2 adet yanyana a içeren blokları seçer.

\d{2,3} :  2 veya 3 adet blok halindeki rakamlarla eşleşir. {en az, en çok} içerisinde belirtilen sayı blokta karakter sayısını belirtir. En çok ifadesi yerine bir rakam yazılmazsa sınırsız blok anlamına gelir. Ve öncelik her zaman en çok olandadır.

abcd? : abc ile başlayıp devamında d olsa da olmasada olur şeklindeki bloklarla eşleşir. ? işareti önündekinin opsiyonel anlamına geldiğini belirtir.

a3+d : a ile başlar 3 ile devam eder ve sonrasında 3 görene dek devam eden ve sonrada d ile devam eden bloğu seçer. + işareti kendinden önceki karakteri görene dek seçer.

a3*d : a ile başlar eğer 3 varsa 3 görene dek devam eder ve d ile biten bloğu seçer. + işaretinden farkı 3’ün opsiyonel olmasıdır. Yani ad ‘yide seçer.

\d{1,}$ : Sonu rakamla biten bloğu seçer. $ işareti önündeki ifadenin sonda olacağını bildirir.

\b432\b : Kelimenin başı 4 ile başlayan 3 ile devam eden 2 ile kesin olarak biten bloğu seçer.  \b sınırları belirler.

^G.*n$ : G ile başlayan n ile biten kelime bloğu seçer. ^ ifade başlangıcını belirtir.

(?i)gokhan : Büyük küçük karakter önemsiz olarak gokhan ifadesini seçer.  (?i) kendinden sonraki ifadeleri case-insensitive olarak işler.

(?:g|k) : g ile k arasındaki karakterleri normalde gruplaması gerekirken gruplamaz. ( ) gruplamasını kullanmanız gerektiğinde capturing etmek istemezseniz ( ) içerisinde ?: ifadesi kullanılır.

gokhan (?=kesici) : gokhan ifadesinin sonrasında kesici ifadesi yer alan gokhan ifadeleri seçilir. ( ) içerisinde ?= ile belirtilen takip anlamındaki içerikten önce belirtilen ifade capture edilir.

gokhan (?!kesici) : gokhan ifadesinin sonrasında kesici ifadesi yer almayan gokhan ifadeleri seçilir.

(?<=gokhan) (kesici) : kesici ifadesinden öncesinde gokhan yer alan kesici ifadeleri seçilir.

 (?<!gokhan) (kesici) : kesici ifadesinin öncesinde gokhan yer almayan kesici ifadeleri seçilir.