Regular Expression Kullanımı

30 Ekim 2008

Emrah Çetiner beyefendinin bloğundan alıntıdır.
4 Eylül 2008, Perşembe, 08:52

.
Herhangi bir karakteri temsil eder.
d.rk > dark, dork, ...
p..l > pool, paul, ...

*
Kendinden önce gelen karakterin, hiç olmayacağını veya bir çok kez olabilceğini temsil eder.
go*gle > ggle, gogle, google, gooooogle, ...
mo.* > mo, more, mobil, ...
mobil(phone)* > mobil, mobilphone, mobilphonephone, ...

+
*'dan farkı kendin önce gelen karakterin en az bir defa olması gerektiğidir. Birden fazla da olabilir.
go*gle > gogle, google, gooooogle, ...
mobil(phone)* > mobilphone, mobilphonephone, ...

?
Kendinden önce gelen karakterin, hiç olmayacağını veya bir kez olabileceğini temsil eder.
go?gle > ggle, gogle
mobil(phone)? > mobil, mobilphone

()
Gruplama yapmamızı sağlar.
(mobilphone) > mobil, phone

[]
Dizi veya aralığı temsil eder.
d[ao]rk > dark, dork
d[ao]+rk > daark, dooork
mobil[A-Z] > mobilA, mobilB, mobilC, ...

[^]
"^" simgesinin [] içersinde kullanılması, kendisinden sonraki karakterlerin kullanılmaması gerektiği anlamına gelir.
b[^aeiou].* > break, blog

{}
Kendinden önce gelen karakterin tekrar edilme miktarını temsil eder. İçersinde tek değer yazılırsa zorunlu, virgülle ayrılmış çift değer yazılırsa min. max. aralık belirtir.
go{2}gle > google
go{2,5}gle > google, gooogle, goooogle, gooooogle
[A-Z]{3} > ABC, DEF, AEF, GGG, HRF,...
[a-z]{2,} > AB, DE, ABF, DEFRT, FFGERTGV,...
[0-9]{3-5} > 165, 789, 1966, 7786, 77788, 98765

\
Kendinden sonra gelen özel karakterin kullanılabilmesini sağlar.
google? > googl, google
google\? > google?

(?#comment) > açıklama yazmak için
^ > Satır başı
$ > Satır sonu

\d > Herhangi bir rakam [0-9]
\D > Herhangi bir rakam olmayan [^0-9]
\w > Herhangi bir harf, rakam veya alt çizgi [a-zA-Z0-9_]
\w > Herhangi bir harf, rakam veya alt çizgi olmayan [^a-zA-Z0-9_]


Kendimiz yazmaktansa, hali hazırda, çok kullanılan bazı regex'leri regexlib.com dan da bulabiliriz.