REGEX – Negatif Karakter Sınıfları

Pazartesi, 07 Eyl 2009 yorum ekle yorumlara git
X

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.

Bu yazı dizisine ait tüm yazılar

EÄŸer karakter sınıflarında gördüğümüz [...] yerine [^...] kullanırsanız belirlediÄŸiniz kriterlere uymayan yerleri listelersiniz. ÖrneÄŸin [^2-7] regex’i 2 ve 7 arasında olmayan karakterlerle eÅŸleÅŸir. Yani karakter sınıfının başındaki ^ metakarakteri, karakter sınıfının içerisindeki karakterleri istemediÄŸinizi belirtir.

Birkaç yazı önce Regex ile Satır başı ve Satır sonu konusunu iÅŸlemiÅŸtik. Dikkat ettiyseniz o yazıda ^ metakarakterinin satır başını ifade ettiÄŸini söylemiÅŸtik. Åžimdi ise karakter sınıfını negatife çevirdiÄŸini söylüyoruz. Bu da demek oluyorki REGEX‘te metakarakterlerin iÅŸlevleri kullanıldığı yere göre deÄŸiÅŸiyor. Tıpkı sesteÅŸ sözcükler gibi. Kullanıldığı yere göre deÄŸiÅŸik anlamlar alabiliyorlar.

Hemen bir örnek verelim ve konuyu pekiştirelim;

Ardından a harfi gelmeyen bilgisayar kelimelerini listeleyelim. Kullanmamız gereken regex desini şöyle olabilir;

bilgisayar[^a]

bilgisayardan gelen ses

bilgisayarı açtık.

bilgisayara baktık

bilgisayar

bilgisayarın içine baktım.

Burada dikkat edilmesi gereken nokta bilgisayar sözcüğünün eÅŸleÅŸmemesi. İlk paragrafı tekrar okuyalım, negatif karakter sınıfı demek “belirtilen karakterlerin bulunmadığı durumları listelemek” demek. Yani bilgisayar kelimesinden sonra gelen harf a deÄŸilse listele dedik. Anlaşılması ve anlatıması zor bir mesele, ilk bakışta anlayamayabilirsiniz. YavaÅŸ yavaÅŸ oturacaktır kafanızda. bilgisayar kelimesinden sonra bir karakter olması lazım, ama bu karakter a olmamalı dedik.

Lütfen önümüzdeki yazıya kadar kendiniz örnekler oluşturup deneyin.


PaylaÅŸ:
  • Facebook
  • FriendFeed
  • Twitter
  • del.icio.us
  • Digg
  • StumbleUpon
  • Technorati
  • LinkedIn
  • MySpace
  • BlinkList
  • Reddit
  • RSS
  • email
  • PDF

Benzer Yazılar (bunları bilgisayar seçiyor);

Categories: Programlama, Regular Expressions 4.100 Gösterim
  1. ÅŸimdilik yorum yok.
  1. şimdilik geri bağlantı yok