REGEX – Karakter Sınıfları
Okuduğunuz yazı, Düzenli İfadeler (Regular Expressions) adlı yazıdizisinin parçasıdır. Eğer giriş yazısını hala okumadıysanız şimdi okuyun, aksi takdirde "Ben neresiyim? Burası kim?" gibi manası bol fakat anlaşılması güç cümleler kurabilirsiniz.
Diyelimki bir yazı içerisinde geçen “makina” kelimelerini bulmak istiyorsunuz. Fakat bildiÄŸiniz üzere makina kelimesini makine diye yazanlar da var, makina diye yazanlar da.
[...] yapısı, REGEX‘te karakter sınıfı olarak bilinir. e sadece e’leri, a sadece a’ları bulurken, [ea] her ikisini de bulur. Yazının içerisinde geçen makina ve makine kelimelerini bulmak için makin[ae] düzenli ifadesini kullanıyoruz. Bu düzenli ifade sayesinde yazı içerisinde ardından a veya e gelen makin kelimelerini buluyoruz.
Verilebilecek baÅŸka bir örnek ise istenilen yerlerde büyük-küçük harfe izin verilmesi durumlarıdır. ÖrneÄŸin yazının içerisinde geçen hüseyin ve Hüseyin kelimelerini bulmak istediÄŸinizde [Hh]üseyin regex‘ini kullanabilirsiniz. (Bu durum sizi korkutmasın, günümüzde pek çok Regex implementasyonunda büyük-küçük harf ayrımı gözardı edilebilmekte, ileriki yazılarda göreceÄŸiz.)
Herhangi bir karakter sınıfının içerisinde istediÄŸiniz kadar karakter kullanabilirsiniz. Mesela bir HTML belgesi içerisindeki tüm Header elementlerini bulmak istersek kullanmamız gereken regex; <h[123456]> Böylelikle html belgesi içerisinde geçen tüm <h1>, <h2> … <h6> elementlerini bulabiliriz.
Karakter sınıflarının içerisinde kullanabileceğiniz bir de - (tire) metakarakteri vardır. Bunun sayesinde karakter sınıfının içerisinde bir karakter aralığı oluşturabilirsiniz. Yani yukarıdaki örneği şu şekilde düzenleyebiilriz; <h[1-6]>
Karakter aralığına örnek olarak [0-9] tüm rakamları, [a-z] İngiliz alfabesindeki tüm küçük harfleri, [A-Z] İngiliz alfabesindeki tüm büyük harfleri belirtir. Sadece bunlarla sınırlı değilsiniz. [a-t] a ile t arasındaki tüm harfleri (a ve t dahil) , [A-z] A ile z arasındaki tüm karakterleri verir (Siz gene de bu son örneği kullanırken dikkatli davranın, ASCII karakter tablosunda Z ile a arasında [ ^ gibi bazı karakterler daha vardır, bunlar da karakter sınıfına dahil olur.). Bir karakter sınıfının içerisinde birden fazla karakter aralığı kullanabilirsiniz. Mesela [a-zA-Z] İngiliz alfabesindeki tüm büyük ve küçük harfleri belirtir. Kullanılan sırlamanın bir önemi yoktur.
Tire işaretinin yalnızca karakter sınıfının içerisinde olduğu zaman metakarakter olduğuna dikkat edelim. Karakter sınıfı dışarısında olduğunda ise normal olarak yazı içerisindeki tire işaretini bulursunuz.
Åžimdilik bu kadar.
Benzer Yazılar (bunları bilgisayar seçiyor);
- REGEX – Negatif Karakter Sınıfları
EÄŸer karakter sınıflarında gördüğümüz [...] yerine [^...] kullanırsanız belirlediÄŸiniz kriterlere ... - REGEX – Alt İfadeler
En çok kullanılan metakarakterlerden diÄŸeri; | VEYA anlamına gelir. Küçük L harfiyle karıştırmayın ... - REGEX – Nokta Metakarakteri
Åžimdi diyebilirsiniz, "Her metakarakter için yeni yazı yazarsan halimiz nice olur?" diye. Nokta metakarakte... - REGEX – Satır Başı ve Satır Sonu
REGEX yazı dizimizin ilk bölümünde satır başı ve satır sonu'nu iÅŸleyeceÄŸiz. Muhtemelen anlayabileceÄ... - Düzenli İfadeler (Regular Expressions) Yazı Dizisi – GiriÅŸ
Merhabalar!! Yeni bir yazı dizisine başlıyorum, sizlere Düzenli İfadeler, bir başka deyişle Regular Ex...
Son Yorumlar