JavaScript-də Requlyar İfadələrin İstifadəsinin Optimallaşdırılması

Requlyar ifadələr çox ağır və nisbətən yavas işləyən şeydir. Alternativ həll olduqda, arzu olunandır ki, məhz ondan istifadə edilsin.

Gəlin bir nümunəyə baxaq. Tutaq ki, müəyyən bir sətirin nida işarəsi ilə başlayıb-başlamadığını yoxlamaq lazımdır. Müəyyən bir proqramçı bu problemi requlyar ifadə ilə həll etdi:

javascriptlet str = '!123';

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

Lakin, belə bir problemin daha sürətli işləyən həlli var:

javascriptlet str = '!123';

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

Aşağıdakı kod sətirdə '33' alt sətirinin olub-olmadığını yoxlayır. Optimallaşdırmanı yerinə yetirin:

javascriptlet str = '123345';

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

Aşağıdakı kod sətirin '.html' ilə bitib-bitmediyini yoxlayır. Optimallaşdırmanı yerinə yetirin:

javascriptlet str = 'index.html';

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

Aşağıdakı kod son boşluqları kəsir. Optimallaşdırmanı yerinə yetirin:

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