Karakter Tekrarlama Operatörleri
Bir karakterin belirli sayıda tekrarlandığını belirtmek istediğimiz durumlar olur.
Eğer tam tekrar sayısını biliyorsak, onu birkaç kez yazabiliriz - /aaaa/.
Peki ya şöyle bir şey söylemek istersek: bir veya daha fazla kez tekrarla?
Bunun için tekrarlama operatörleri (niceleyiciler) vardır: artı + (bir veya daha fazla kez),
yıldız * (sıfır veya daha fazla kez) ve
soru işareti ? (sıfır veya bir kez). Bu
operatörler kendilerinden önce gelen karaktere etki eder.
Bu operatörlerin çalışmasını örnekler üzerinde inceleyelim.
Örnek
Şu kalıba göre tüm alt dizileri bulalım: harf
'x', 'a' harfi bir veya daha fazla kez,
'x' harfi:
let str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');
Sonuç olarak değişkene şu yazılacaktır:
'xx ! ! ! xbx'
Örnek
Şu kalıba göre tüm alt dizileri bulalım: harf
'x', 'a' harfi sıfır veya daha fazla kez,
'x' harfi:
let str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');
Sonuç olarak değişkene şu yazılacaktır:
'! ! ! ! xbx'
Örnek
Şu kalıba göre tüm alt dizileri bulalım: harf
'x', 'a' harfi sıfır veya bir kez,
'x' harfi:
let str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');
Sonuç olarak değişkene şu yazılacaktır:
'! ! xaax xbx'
Pratik Görevler
Bir dize verildi:
let str = 'aa aba abba abbba abca abea';
Şu kalıba göre 'aba', 'abba', 'abbba'
dizelerini bulacak bir düzenli ifade yazın: 'a' harfi,
'b' harfi herhangi bir sayıda, 'a' harfi.
Bir dize verildi:
let str = 'aa aba abba abbba abca abea';
Şu kalıba göre 'aa', 'aba', 'abba',
'abbba' dizelerini bulacak bir düzenli ifade yazın: 'a' harfi,
'b' harfi herhangi bir sayıda (hiç olmaması da dahil),
'a' harfi.
Bir dize verildi:
let str = 'aa aba abba abbba abca abea';
Şu kalıba göre 'aa', 'aba' dizelerini
bulacak bir düzenli ifade yazın: 'a' harfi,
'b' harfi bir kez veya hiç, 'a' harfi.
Bir dize verildi:
let str = 'aa aba abba abbba abca abea';
'abca' ve 'abea''yı yakalamadan,
'aa', 'aba', 'abba',
'abbba' dizelerini bulacak bir düzenli ifade yazın.