JavaScript Düzenli İfadelerde 'veya' Komutu
Bu derste, [ ] komutuna kıyasla daha güçlü
bir 'veya' varyantını temsil eden
'|' komutunu inceleyeceğiz. Bu komut,
düzenli ifadeyi birkaç parçaya bölmenize
izin verir. Bu durumda, aranan ifade ya düzenli
ifadenin bir kısmına ya da diğer kısmına
denk gelebilir. Örneklerle inceleyelim.
Örnek
Bu örnekte, arama kalıbı şu şekildedir: üç
'a' harfi veya üç 'b' harfi:
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'! ! abb'
Örnek
Bu örnekte, arama kalıbı şu şekildedir: üç
'a' harfi veya 1 ve daha fazla
'b' harfi:
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'! ! ! ! axx'
Örnek
Bu örnekte, arama kalıbı şu şekildedir: bir veya daha fazla harf veya üç rakam:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'! ! ! 1 12 !'
Örnek
Dikey çubuk, düzenli ifadeyi sadece iki parçaya değil, istediğiniz sayıda parçaya bölebilir:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'! ! ! ddd'
Örnek
Eğer dikey çubuk yuvarlak parantezlerin içinde
yer alıyorsa, 'veya' işlemi sadece
bu parantezlerin içinde geçerli olur.
Örnek olarak, aşağıdaki kalıba uyan dizileri
bulalım: başında bir veya daha fazla kez
'a' veya 'b' bulunur ve ardından
iki tane 'x' harfi gelir:
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'! ! ! exx'
Pratik Görevler
Bir dize verildi:
let str = 'aeeea aeea aea axa axxa axxxa';
Aşağıdaki kalıba uyan dizileri bulacak bir
düzenli ifade yazın: kenarlarda 'a'
harfleri bulunur ve aralarında - herhangi
bir sayıda 'e' harfi veya herhangi
bir sayıda 'x' harfi.
Bir dize verildi:
let str = 'aeeea aeea aea axa axxa axxxa';
Aşağıdaki kalıba uyan dizileri bulacak bir
düzenli ifade yazın: kenarlarda 'a'
harfleri bulunur ve aralarında - iki kez
'e' harfi veya herhangi bir sayıda
'x' harfi.