Säännöllisten lausekkeiden optimointi JavaScriptissä
Säännölliset lausekkeet ovat erittäin raskas ja suhteellisen hitaasti toimiva asia. Kun on olemassa vaihtoehtoinen ratkaisu, on toivottavaa käyttää juuri sitä.
Katsotaanpa esimerkkiä. Oletetaan, että meidän on tarkistettava, alkaako jokin merkkijono huutomerkillä. Eräs ohjelmoija ratkaisi tämän tehtävän säännöllisellä lausekkeella:
javascriptlet str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Kuitenkin tällaisella tehtävällä on paljon nopeammin toimiva ratkaisu:
javascriptlet str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Задание 1
Seuraava koodi tarkistaa, onko merkkijonossa
osajonoa '33'.
Suorita optimointi:
javascriptlet str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 2
Seuraava koodi tarkistaa, päättyykö
merkkijono osaan '.html'.
Suorita optimointi:
javascriptlet str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 3
Seuraava koodi leikkaa lopusta tyhjät merkit. Suorita optimointi:
javascriptlet str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);