Regular Expressions

Kategori: Javascript , 05 Kasım 2019 , JanFranco


Regular expression (düzenli ifade) aramaları tarif etmede kullanılan özel bir string kalıptır. Düzenli ifadelerde aşağıdaki karakterlerin özel anlamları vardır:


\ ^ $ . * + ? ( ) [ ] { } |
Bu karakterlerin etkisini \ (backslash) karakteri ile yok edebiliriz. Bu yazımda düzenli ifadeleri değil, düzenli ifadelerin Javascript'te nasıl kullanıldığını göstereceğim. Düzenli ifadeler hakkında bilginiz yok ise araştırabilirsiniz. Belki bunun hakkında ayrı bir yazı yazabilirim.

exec() methodu ile belirli string ifadede düzenli ifade araması yapabiliriz. Bir örnek yapalım:


function parseIsoDate(str) {
    var match = /^([0-9]{4})-([0-9]{2})-([0-9]{2})$/.exec(str);
    if (!match) {
	throw new Error('Not an ISO date: '+str);
    }
    console.log('Year: ' + match[1]);
    console.log('Month: ' + match[2]);
    console.log('Day: ' + match[3]);
}

parseIsoDate('2001-12-24')
>>
Year: 2001
Month: 12
Day: 24
Düzenli ifadeleri / / karakterleri arasında tanımlayabildiğimiz gibi, RegExp() fonksiyonunu kullanarak obje de üretebiliriz:


/abc/.test('ABC')
new RegExp('abc').test('ABC')
test() methodunu kullanarak düzenli ifade ile string karşılaştırması yapabiliriz. Düzenli ifade oluştururken mod da seçebiliriz. Bayrak da denir. Bu bayraklar global, ignoreCase ve multiline olmak üzere 3 adettir.


g - global
i - ignoreCase
m - multiline
g etiketi ile arama bittiğinde bir sonraki arama kaldığı yerden başlar. i etiketi ile büyük küçük harfler ayırt edilmez aynı kabul edilir. m etiketi ile ^ operatörü ve $ operatörü her bir satır içinde ayrı ayrı hesaplanır. Bu modları şu şekilde belirleyebiliriz:


/abc/i.test('ABC')
>>
true

new RegExp('abc', 'i').test('ABC')
>>
true


Sonraki Yazı: Dates
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın