2007-04-25

Regex Karakter Kümeleri

Karakter kümeleri ile metnin regex ifadesindeki herhangi bir karakterle eşleşmesini sağlayabiliriz. Bunun için eşleşecek karakterleri köşeli parantezler içine koyarız.

Örneğin [vw] regex'i metin içindeki v veya w karakterleri ile eşleşecektir.
Köşeli parantez içindeki karakterlerin sırası önemli değildir.

Burada bir ayrıntıyı hatırlatmak gerekir. vw ifadelerini aramak isteseydik regex köşeli parantez kullanmadan yani vw şeklinde olacaktı. Örneğin metin içinde volkswagen ve wolkswagen kelimelerinin hepsini bulmak için kullanacağımız regex [vw]olkswagen olacaktır. Kullancının kelimenin ilk harfini doğru veya yanlış yazması farketmeyecektir. Burada yine dikkat! Regex vwolkswagen yada wvolkswagen ifadeleri ile eşleşmeyecektir. İlk karakter v yada w olabilir.

Karakter kümesi olarak aralık vermek için tire - kullanılır. [0-9] ifadesi 0 ile 9 arasındaki herhangi bir karakter ile eşleşir. Birden fazla aralıkta verebiliriz. Örneğin [0-9a-fA-F] büyük-küçük harf gözetmeden tek bir hexadecimal karakter ie eşleşir. Aralık ile beraber herhangi bir karakter de belirtilebilir. [0-9a-fxA-FX] tek bir hexadecimal karakter yada X karakteri ile eşleşir.

Negatif Karakter Kümeleri

Açılan köşeli parantezden sonra şapka ^ karakteri kullanmak karakter kümesi içindeki karakterlerle eşleşmeyen sonuçları bulacaktır. n[^s] iki karakter arayacaktır : n, ve s olmayan ikinci bir karakter. n[^s] regex ifadesi insanların kelimesindeki ns ile değil nl ile eşleşecektir. En sondaki n ile eşleşmeyecektir çünkü en sondaki n den sonra ikinci bir karakter bulunmamaktadır.

Özel Karakterler ve Karakter Kümeleri

Karakter kümeleri içindeki özel karakterler (yada metakarakterler) kapanan köşeli parantez ], ters bölü \, şapka ^ ve tire - karakterleridir. Diğer özel karakterler köşeli parantez içerisinde normal karakterler gibi eşleşir ve öncesinde ters bölü \ kullanmaya gerek yoktur. Örneğin * veya + için [+*] ifadesi kullanılır.
Özel karakterleri karakter kümeleri içinde kullanırken öncesinde ters bölü \ kullanmak veya bu karakterleri özel bir anlam taşımayacağı yerde kullanmak gerekir. Örneğin [x^] ile [x\^] gerçekte aynı ifadedir. Çünkü şapka ^ sadece açılan parantezden sonra özel bir karakterdir.
Unicode karakterler karakter kümeleri içinde normal kullanıldıkları gibi kullanılır. Örneğin [$\u20AC], dolar $ veya euro € karakteri ile eşleşecektir. (euro karakterinin unicode karşılığı \u20AC 'dir)

Kaynak: www.noktalivirgul.com/Regular_Expressions.aspx

Hiç yorum yok:

.::YASAL UYARI::.

©2004-2016 Mehmet GÜZEL, http://www.mehmetguzel.net/ & http://www.mehmetguzel.com/

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.