JavaScript-те регулярлы өрнектерді пайдалануды оңтайландыру
Регулярлы өрнектер өте ауыр және салыстырмалы түрде баяу жұмыс істейтін нәрсе. Балама шешім болған кезде, дәл соларды пайдалану қажет.
Мысалға қарайық. Белгілі бір жолдың леп сұрау белгісінен басталатынын тексеру керек делік. Бір бағдарламаушы бұл мәселені регулярлы өрнек арқылы шешті:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Алайда, мұндай тапсырманың әлдеқайда жылдам жұмыс істейтін шешімі бар:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Келесі код жолда '33'
ішкі жолының барлығын тексереді.
Оңтайландыруды орындаңыз:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Келесі код жолдың '.html'
арқылы аяқталатынын тексереді.
Оңтайландыруды орындаңыз:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Келесі код соңғы бос орындарды кесіді. Оңтайландыруды орындаңыз:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);