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:
let str = 'img.png';
Bu dizeye şu düzenli ifadeyi uyguladığımızı varsayalım:
let 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:
let 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:
let pat = 'png|jpg';
let reg = new RegExp('\\.(' + pat + ')$');
let res = str.match(reg);
Şimdi değişkeni şablon dizeleri kullanarak ekleyelim:
let 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:
let 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:
let 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:
let arr = ['ru', 'by', 'ua'];