Символът каретка в набори в регулярните изрази на JavaScript

Както знаете, каретката вътре в [ ] прави отрицание, когато е поставена в началото на скобите. Следователно, тя е специален символ вътре в тези скоби. За да получите каретката като символ, трябва или да я екранирате, или да я преместите от първата позиция.

Пример

В следващия пример шаблонът за търсене е: първият символ е всичко освен 'd', следвано от две букви 'x'.

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');

В резултат в променливата ще бъде записано следното:

javascript'! ! ! dxx'

Пример

А сега шаблонът за търсене е: първият символ - това е 'd' или '^', следвано от две букви 'x':

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');

В резултат в променливата ще бъде записано следното:

javascript'axx bxx ! !'

Пример

Можете да не премествате каретката от първата позиция, а просто да я екранирате с помощта на обратна наклонена черта, и тя ще означава самата себе си:

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');

В резултат в променливата ще бъде записано следното:

javascript'axx bxx ! !'

Практически задачи

Задание 1

Даден е низ:

javascriptlet str = '^xx axx ^zz bkk @ss';

Напишете регулярен израз, който ще намери низовете по шаблон: каретка или куфарче, а след това две латински букви.

Задание 2

Даден е низ:

javascriptlet str = '^xx axx ^zz bkk @ss';

Напишете регулярен израз, който ще намери низовете по шаблон: НЕ каретка и не куфарче, а след това две латински букви.

Задание 3

Даден е низ:

javascriptlet str = '^xx axx ^zz bkk';

Напишете регулярен израз, който ще намери низовете по шаблон: не каретка и не интервал, а след това две латински букви.