Anasayfa » Java ve Java Teknolojileri

Java – Regular Expressions (Düzenli İfadeler)

12 Kasım 2012 18.134 kez okundu 3 yorum
1 Star2 Stars3 Stars4 Stars5 Stars (3 oy,5 üzerinden : 4,00 )
Loading...

Merhaba arkadaşlar, bu yazımda java üzerinde regular expression (düzenli ifade) işlemlerinden bahsedeceğim.

Regular expression’lar genel anlamda string üzerinde belirli bir yapıyı arama modelidir. Yani genel bir string içerisinde sizin belirlediğiniz formata uyan yapıları bulmak amacıyla kullanılır. Bu yapılar, bir tarih formatı, bir telefon numarası formatı, bir email hesabı formatı gibi belli başlı formatlar olabileceği gibi, sizin belirleyeceğiniz orjinal bir format ta olabilir.

Örneğin   “xyzxyabcxyzttttxzhjxyz”  stringi içerisinde “xyz” kalıbını aramak istersek sonuç olarak bize şöyle bir yapı döner.

xyz—–xyz——–xyz

Öncelikle bu kalıbları oluştururken kullanılan yapılardan tablolar yardımıyla bahsedelim.

Regular Expression Açıklaması
. (nokta) noktaya karşılık herhangi bir işaret, karakter gelebilir
^ornek “ornek” kelimesi stringin başında ise eşleşir
ornek$ “ornek” kelimesi stringin sonunda ise eşleşir
[abc] bu yapının olduğu konumda a,b veya c varsa eşleşir. (Sadece bir tanesi eşleşir) Parantez sadece bir karakter demektir
[abc][vz] a,b veya c var ise ve hemen arkasından v veya z geliyor ise eşleşme olur. Toplamda iki karakter eşleşecek. av,az,bv,bz,cv,cz ihtimallerdir. Araya başka bir karakter alınmaz.
[^abc] Eğer bir kümenin başında ^ işareti var ise, parantez içinde saydığı karakter haricindeki karakterler eşleşir. Yani a, b veya c dışında bir karakter gelirse eşleşme sağlanır.
[a-d1-7] Bu yapı aralık belirtir. Yani a dan d ye kadar veya 1 den 7 ye kadar olan bir karakter gelirse eşleşir, toplamda ya harf ya rakam olacak. Yani bir karakter eşleşecek. Hem karakter hem sayı eşleşemez.
X|Z X veya Z den birisi eşleşecek.
XZ X var ise hemen arkasından da Z geliyor ise, yani XZ şeklinde bir string var ise eşleşecek
Regular Expression Açıklaması
\d 0 ile 9 arasında herhangi bir rakam
\D 0 ile 9 arasındaki rakamlar haricindeki karakter Kısaca : [^0-9]
\s Whitespace karakter, Kısaca: [ \t\n\x0b\r\f]
\S Whitespace karakter haricindeki bir karakter, Kısaca: [^\s]
\w Word karakter, Kısaca [a-zA-Z_0-9] Yani küçük harf, büyük harf veya rakam dan bir tanesi
\W Word karakter harici  bir karakter. Yani küçük harf, büyük harf veya rakam harici bir karakter [^\w]
\S+ Birden fazla white space karakter harici karakterler
Regular Expression Açıklama
* Sonuna geldiği yapının ya hiç olmaması, yada istediği kadar tekrar edebileceği anlamına gelir
+ Sonuna geldiği yapının en az bir defa olmak üzere istediği kadar tekrar edebileceği anlamına gelmektedir.
? Sonuna geldiği yapının ya hiç tekrar etmemesi yada bir kere tekrar edebileceği anlamına gelmektedir.
{3} Süslü parantez içindeki sayı kadar kendinden önceki yapının tekrar etmesi gerekir
{1,4} Süslü parantez içindeki sayılardan ilki en az ikincisi en fazla sayıda kendinden önceki yapının tekrar edebileceğni göstermektedir.
*? Kendinden önceki yapının en az sayıda eşleşmesini alır.
Şu şekilde örnekler üzerinden gidecek olursak;

ve bazı örnek metodlar

Temel olarak düzenli ifadelere basit örnekler verdik. Sonra ki yazımda daha karmaşık örnekler üzerinde duracağız. Herkese iyi günler.

<<< Önceki:

Sonraki: >>>


Facebookta Paylaş

3 yorum »

Yorum Bırakın!

Yorum yaz, yada kendi sitende trackback (Geri besleme) olarak ekle. Ayrıca RSS ile bu konuya üye olabilirsin. .

Nazik olun. Temiz tutun. Konu dışına çıkmayın. Spam yaratmayın.

Bu tagları kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bloğumuz gavatarı desteklemektedir. Kendi gavatarınızı edinmek için lütfen Gravatar a üye olun.