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);