JavaScriptにおける正規表現の使用最適化

正規表現は非常に重く、比較的動作が遅いものです。 代替手段がある場合は、そちらを使用することが望ましいです。

例を見てみましょう。 ある文字列が感嘆符で始まっているかどうかを確認する必要があるとします。 あるプログラマーはこの問題を正規表現を使って解決しました:

javascriptlet str = '!123';

if (/^!/.test(str)) {
  console.log('+++');
} else {
  console.log('---');
}

しかし、このような問題には遥かに高速な解決策があります:

javascriptlet str = '!123';

if (str[0] == '!') {
  console.log('+++');
} else {
  console.log('---');
}
Задание 1

次のコードは、文字列内に部分文字列 '33' が含まれているかをチェックします。 最適化を実行してください:

javascriptlet str = '123345';

if (/33/.test(str)) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

次のコードは、文字列が '.html' で終わっているかをチェックします。 最適化を実行してください:

javascriptlet str = 'index.html';

if (/\.html$/.test(str)) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

次のコードは末尾の空白を削除します。 最適化を実行してください:

javascriptlet str = '  text  ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);