JavaScriptda RegExlardan Foydalanishni Optimallashtirish
Muntazam ifodalar juda og‘ir va nisbatan sekin ishlovchi narsadir. Muqobil yechim mavjud bo‘lganda, maqsadga muvofiqroq bo‘ladi.
Keling, bir misolni ko‘rib chiqaylik. Faraz qilaylik, biz ma'lum bir satr unday belgi bilan boshlanishini tekshirmoqchimiz. Ba'zi bir dasturchi bu muammoni regulyar orqali hal qilgan:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Biroq, bunday vazifa ancha tezroq ishlovchi yechimga ega:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Quyidagi kod satrda
'33' pastki qatorining mavjudligini tekshiradi.
Optimallashtirishni bajaring:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Quyidagi kod satrning
'.html' bilan tugashini tekshiradi.
Optimallashtirishni bajaring:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Quyidagi kod oxiridagi boshlıqlarni kesadi. Optimallashtirishni bajaring:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);