⊗pyPmRERO 34 of 129 menu

Operadores de repetición de caracteres en expresiones regulares

Hay situaciones en las que es necesario indicar que un carácter se repite un número determinado de veces. Si el número exacto de repeticiones se desconoce, se puede simplemente escribirlo varias veces - 'aaaa'. Pero, ¿qué hacer si se necesita decir algo como: repetir una o más veces?

Para ello existen operadores (cuantificadores) de repetición: el signo más + (una o más veces), el asterisco * (cero o más veces) y el signo de interrogación ? (cero o una vez). Estos operadores actúan sobre el carácter que les precede.

Veamos el funcionamiento 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':

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa+x', '!', txt) print(res)

Resultado de la ejecución del código:

'xx ! ! ! xbx'

Ejemplo

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

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa*x', '!', txt) print(res)

Resultado de la ejecución del código:

'! ! ! ! xbx'

Ejemplo

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

txt = 'xx xax xaax xbx' res = re.sub('xa?x', '!', txt) print(res)

Resultado de la ejecución del código:

'! ! xaax xbx'

Problemas prácticos

Dada la cadena:

txt = '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'.

Dada la cadena:

txt = '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 cero veces), letra 'a'.

Dada la cadena:

txt = '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'.

Dada la cadena:

txt = 'aa aba abba abbba abca abea'

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

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar