Optimierung der Verwendung von regulären Ausdrücken in JavaScript
Reguläre Ausdrücke sind eine sehr schwere und verhältnismäßig langsam arbeitende Sache. Wenn es eine alternative Lösung gibt, sollte man diese bevorzugen.
Schauen wir uns ein Beispiel an. Angenommen, wir müssen prüfen, ob eine bestimmte Zeichenkette mit einem Ausrufezeichen beginnt. Ein gewisser Programmierer hat diese Aufgabe mit einem regulären Ausdruck gelöst:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Allerdings gibt es für eine solche Aufgabe eine viel schneller arbeitende Lösung:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Der folgende Code prüft das Vorhandensein der Teilzeichenkette
'33' in einer Zeichenkette.
Führen Sie eine Optimierung durch:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Der folgende Code prüft, ob die Zeichenkette
auf '.html' endet.
Führen Sie eine Optimierung durch:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Der folgende Code schneidet die abschließenden Leerzeichen ab. Führen Sie eine Optimierung durch:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);