Оптимизатсияи истифодаи регуляриҳо дар 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);