Operadores de repetición de caracteres en expresiones regulares

Hay situaciones en las que queremos indicar que un carácter se repite un número determinado de veces. Si conocemos el número exacto de repeticiones, simplemente podemos escribirlo varias veces - /aaaa/. Pero, ¿qué hacemos si queremos decir algo como: repetir una o más veces?

Para esto existen operadores (cuantificadores) de repetición: más + (una o más veces), asterisco * (cero o más veces) y interrogante ? (cero o una vez). Estos operadores actúan sobre el carácter que está delante de ellos.

Veamos el trabajo de estos operadores con ejemplos.

Ejemplo

Encontremos todas las subcadenas según el patrón letra 'x', letra 'a' una o más veces, letra 'x':

javascriptlet str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');

Como resultado, se escribirá lo siguiente en la variable:

javascript'xx ! ! ! xbx'

Ejemplo

Encontremos todas las subcadenas según el patrón letra 'x', letra 'a' cero o más veces, letra 'x':

javascriptlet str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');

Como resultado, se escribirá lo siguiente en la variable:

javascript'! ! ! ! xbx'

Ejemplo

Encontremos todas las subcadenas según el patrón letra 'x', letra 'a' cero o una vez, letra 'x':

javascriptlet str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');

Como resultado, se escribirá lo siguiente en la variable:

javascript'! ! xaax xbx'

Problemas prácticos

Задание 1

Dada la cadena:

javascriptlet str = 'aa aba abba abbba abca abea';

Escriba una expresión regular que encuentre las cadenas 'aba', 'abba', 'abbba' según el patrón: letra 'a', letra 'b' cualquier número de veces, letra 'a'.

Задание 2

Dada la cadena:

javascriptlet str = 'aa aba abba abbba abca abea';

Escriba una expresión regular que encuentre las cadenas 'aa', 'aba', 'abba', 'abbba' según el patrón: letra 'a', letra 'b' cualquier número de veces (incluyendo ninguna vez), letra 'a'.

Задание 3

Dada la cadena:

javascriptlet str = 'aa aba abba abbba abca abea';

Escriba una expresión regular que encuentre las cadenas 'aa', 'aba' según el patrón: letra 'a', letra 'b' una vez o ninguna, letra 'a'.

Задание 4

Dada la cadena:

javascriptlet str = 'aa aba abba abbba abca abea';

Escriba una expresión regular que encuentre las cadenas 'aa', 'aba', 'abba', 'abbba', sin capturar 'abca' y 'abea'.