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:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Kuid sellisel ülesandel on palju kiirem lahendus:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Järgnev kood kontrollib stringis
alamsõne '33' olemasolu.
Tehke optimeerimine:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Järgnev kood kontrollib, kas
string lõpeb '.html'-ga.
Tehke optimeerimine:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Järgnev kood eemaldab lõpust tühikud. Tehke optimeerimine:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);