Optimering van reguliere uitdrukkingsgebruik in JavaScript
Reguliere uitdrukkings is 'n baie komplekse en relatief stadig werkende ding. Wanneer daar 'n alternatiewe oplossing is, is dit wenslik om dit te gebruik.
Kom ons kyk na 'n voorbeeld. Laat ons sê ons moet toets of 'n sekere string met 'n uitroepteken begin. 'n Sekere programmeerder het hierdie taak met 'n reguliere uitdrukking opgelos:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Hierdie taak het egter 'n baie vinniger werkende oplossing:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Die volgende kode toets vir die teenwoordigheid van die
substring '33' in die string.
Voer optimering uit:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Die volgende kode toets of die
string eindig op '.html'.
Voer optimering uit:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Die volgende kode snoei die eindige spasies. Voer optimering uit:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);