JavaScript'te Düzenli İfade Dizesi
Düzenli ifadeler dize olarak temsil edilebilir. Bu, düzenli ifadelere değişkenler eklemeniz gerektiğinde veya onları dinamik olarak oluşturmanız gerektiğinde kullanışlıdır.
Bir örneğe bakalım. Şu dizeye sahip olduğumuzu varsayalım:
javascriptlet str = 'img.png';
Bu dizeye şu düzenli ifadeyi uyguladığımızı varsayalım:
javascriptlet reg = /\.(png|jpg)$/;
let res = str.match(reg);
Şimdi bu düzenli ifadeyi
bir dize olarak yeniden yazalım. Bu,
özel RegExp nesnesi kullanılarak yapılır:
javascriptlet reg = new RegExp('\\.(png|jpg)$');
let res = str.match(reg);
Şimdi düzenli ifadenin bir kısmını bir değişkene alalım ve birleştirme kullanarak ekleyelim:
javascriptlet pat = 'png|jpg';
let reg = new RegExp('\\.(' + pat + ')$');
let res = str.match(reg);
Şimdi değişkeni şablon dizeleri kullanarak ekleyelim:
javascriptlet pat = 'png|jpg';
let reg = new RegExp(`\\.(${pat})$`);
let res = str.match(reg);
Şimdi düzenli ifadenin bir kısmını bir diziden oluşturalım:
javascriptlet exts = ['png', 'jpg'];
let pat = exts.join('|');
let reg = new RegExp(`\\.(${pat})$`);
let res = str.match(reg);
Pratik Görevler
Alan adı uzantılarını ayrı bir değişkene alın:
javascriptlet reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Alan adı uzantılarının bir dizi içinde saklandığını dikkate alarak önceki görevi değiştirin:
javascriptlet arr = ['ru', 'by', 'ua'];