Optimasi Penggunaan Ekspresi Reguler di JavaScript
Ekspresi reguler adalah hal yang sangat berat dan beroperasi relatif lambat. Ketika ada solusi alternatif, sebaiknya gunakan solusi tersebut.
Mari kita lihat sebuah contoh. Misalkan kita perlu memeriksa apakah sebuah string diawali dengan tanda seru. Seorang programmer menyelesaikan tugas ini dengan ekspresi reguler:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Namun, tugas seperti itu memiliki solusi yang beroperasi jauh lebih cepat:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Kode berikut memeriksa keberadaan substring
'33' dalam sebuah string.
Lakukan optimasi:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Kode berikut memeriksa apakah sebuah string
diakhiri dengan '.html'.
Lakukan optimasi:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Kode berikut memotong spasi di akhir. Lakukan optimasi:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);