Задачи для решения

На '.', символы

Дана строка 'ahb acb aeb aeeb adcb axeb'. Напишите регулярку, которая найдет строки ahb, acb, aeb по шаблону: буква 'a', любой символ, буква 'b'.

Решение:

'ahb acb aeb aeeb adcb axeb'.replace(/a.b/, '!');

Дана строка 'aba aca aea abba adca abea'. Напишите регулярку, которая найдет строки abba adca abea по шаблону: буква 'a', 2 любых символа, буква 'a'.

Решение:

'aba aca aea abba adca abea'.replace(/a..a/, '!');

Дана строка 'aba aca aea abba adca abea'. Напишите регулярку, которая найдет строки abba и abea, не захватив adca.

Решение:

'aba aca aea abba adca abea'.replace(/ab.a/, '!');

На '+', '*', '?', ()

Дана строка 'aa aba abba abbba abca abea'. Напишите регулярку, которая найдет строки aba, abba, abbba по шаблону: буква 'a', буква 'b' любое количество раз, буква 'a'.

Решение:

'aa aba abba abbba abca abea'.replace(/ab+a/, '!');

Дана строка 'aa aba abba abbba abca abea'. Напишите регулярку, которая найдет строки aa, aba, abba, abbba по шаблону: буква 'a', буква 'b' любое количество раз (в том числе ниодного раза), буква 'a'.

Решение:

'aa aba abba abbba abca abea'.replace(/ab*a/, '!');

Дана строка 'aa aba abba abbba abca abea'. Напишите регулярку, которая найдет строки aa, aba по шаблону: буква 'a', буква 'b' один раз или ниодного, буква 'a'.

Решение:

'aa aba abba abbba abca abea'.replace(/ab?a/, '!');

Дана строка 'aa aba abba abbba abca abea'. Напишите регулярку, которая найдет строки aa, aba, abba, abbba, не захватив abca abea.

Решение:

'aa aba abba abbba abca abea'.replace(/ab*a/, '!');

Дана строка 'ab abab abab abababab abea'. Напишите регулярку, которая найдет строки по шаблону: строка 'ab' повторяется 1 или более раз.

Решение:

'ab abab abab abababab abea'.replace(/(ab)+/, '!');

На экранировку

Дана строка 'a.a aba aea'. Напишите регулярку, которая найдет строку a.a, не захватив остальные.

Решение:

'a.a aba aea'.replace(/a\.a/, '!');

Дана строка '2+3 223 2223'. Напишите регулярку, которая найдет строку 2+3, не захватив остальные.

Решение:

'2+3 223 2223'.replace(/2\+3/, '!');

Дана строка '23 2+3 2++3 2+++3 345 567'. Напишите регулярку, которая найдет строки 2+3, 2++3, 2+++3, не захватив остальные (+ может быть любое количество).

Решение:

'23 2+3 2++3 2+++3 345 567'.replace(/2\++3/, '!');

Дана строка '23 2+3 2++3 2+++3 445 677'. Напишите регулярку, которая найдет строки 23, 2+3, 2++3, 2+++3, не захватив остальные.

Решение:

'23 2+3 2++3 2+++3 345 567'.replace(/2\+*3/, '!');

Дана строка '*+ *q+ *qq+ *qqq+ *qqq qqq+'. Напишите регулярку, которая найдет строки *q+, *qq+, *qqq+, не захватив остальные.

Решение:

'*+ *q+ *qq+ *qqq+ *qqq qqq+'.replace(/\*q+\+/, '!');

На жадность

Дана строка 'aba accca azzza wwwwa'. Напишите регулярку, которая найдет все строки по краям которых стоят буквы 'a', и заменит каждую из них на '!'. Между буквами a может быть любой символ (кроме a).

Решение:

'aba accca azzza wwwwa'.replace(/^a.+?a$/, '!');