Regulaaravaldiste kasutamise optimeerimine JavaScriptis
Regulaaravaldised on väga ressursimahukad ja suhteliselt aeglase töökiirusega asjad. Kui on olemas alternatiivne lahendus, on soovitav kasutada seda.
Vaatame näidet. Oletame, et peame kontrollima, kas mingi string algab hüüumärgiga. Mingi programmeerija lahendas selle ülesande regulaaravaldise abil:
javascriptlet str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Kuid sellisel ülesandel on palju kiirem lahendus:
javascriptlet str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Задание 1
Järgnev kood kontrollib stringis
alamsõne '33' olemasolu.
Tehke optimeerimine:
javascriptlet str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 2
Järgnev kood kontrollib, kas
string lõpeb '.html'-ga.
Tehke optimeerimine:
javascriptlet str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 3
Järgnev kood eemaldab lõpust tühikud. Tehke optimeerimine:
javascriptlet str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);