⊗pyPmREChG 39 of 129 menu

Grupos de caracteres en expresiones regulares de Python

Existen comandos especiales que permiten seleccionar grupos enteros de caracteres a la vez. El comando \d significa dígito del 0 al 9. El comando \w denota un dígito, una letra latina o el signo de subrayado. El comando \s denota un espacio o un carácter de espacio: espacio, salto de línea, tabulación. Se puede invertir el valor del comando escribiendo una letra mayúscula: por ejemplo, si \d es un dígito, entonces \D es un no dígito.

Ejemplo

Encontremos todos los dígitos:

txt = '1 12 123' res = re.sub('\d', '!', txt) print(res)

Resultado de la ejecución del código:

'! !! !!!'

Ejemplo

Los operadores de repetición consideran los comandos-grupos como un todo, es decir, los paréntesis de agrupación no son necesarios. En el siguiente ejemplo, el patrón de búsqueda se ve así: dígito del 0 al 9 una o más veces:

txt = '1 12 123 abc @@@' res = re.sub('\d+', '!', txt) print(res)

Resultado de la ejecución del código:

'! ! ! abc @@@'

Ejemplo

En el siguiente ejemplo, el patrón de búsqueda se ve así: cualquier cosa una o más veces, pero no un dígito del 0 al 9:

txt = '123abc3@@' res = re.sub('\D+', '!', txt) print(res)

Resultado de la ejecución del código:

'123!3!'

Ejemplo

En este ejemplo, el patrón de búsqueda se ve así: carácter de espacio una vez:

txt = '1 12 123 abc @@@' res = re.sub('\s', '!', txt) print(res)

Resultado de la ejecución del código:

'1!12!123!abc!@@@'

Ejemplo

En este ejemplo, el patrón de búsqueda se ve así: carácter NO de espacio una o más veces. Todas las subcadenas, separadas por espacios, serán reemplazadas por '!':

txt = '1 12 123 abc @@@' res = re.sub('\S+', '!', txt) print(res)

Resultado de la ejecución del código:

'! ! ! ! !'

Ejemplo

En este ejemplo, el patrón de búsqueda se ve así: dígito o letra una o más veces. Todas las subcadenas, que consisten en dígitos y letras, serán reemplazadas por '!':

txt = '1 12 123a Abc @@@' res = re.sub('\w+', '!', txt) print(res)

Resultado de la ejecución del código:

'! ! ! ! @@@'

Ejemplo

En este ejemplo, el patrón de búsqueda se ve así: NO dígito y NO letra una o más veces. En nuestro caso, bajo esta definición cae '@@@' y todos los espacios (ya que tampoco son dígitos ni letras). Preste atención al hecho de que al final hay un '!' - en él se transformó la cadena ' @@@' - con un espacio al frente:

txt = '1 12 123 Abc @@@' res = re.sub('\W+', '!', txt) print(res)

Resultado de la ejecución del código:

'1!12!123!Abc!'

Tareas prácticas

Dada la cadena:

txt = 'a1a a2a a3a a4a a5a aba aca'

Escriba una expresión regular que encuentre las cadenas en las que en los bordes hay letras 'a', y entre ellas un dígito.

Dada la cadena:

txt = 'a1a a22a a333a a4444a a55555a aba aca'

Escriba una expresión regular que encuentre las cadenas en las que en los bordes hay letras 'a', y entre ellas cualquier cantidad de dígitos.

Dada la cadena:

txt = 'aa a1a a22a a333a a4444a a55555a aba aca'

Escriba una expresión regular que encuentre las cadenas en las que en los bordes hay letras 'a', y entre ellas cualquier cantidad de dígitos (incluyendo también cero dígitos, es decir, la cadena 'aa').

Dada la cadena:

txt = 'avb a1b a2b a3b a4b a5b abb acb'

Escriba una expresión regular que encuentre cadenas del siguiente tipo: en los bordes hay letras 'a' y 'b', y entre ellas - no un número y no un espacio.

Dada la cadena:

txt = 'ave a#b a2b a$b a4b a5b a-b acb'

Escriba una expresión regular que encuentre cadenas del siguiente tipo: en los bordes hay letras 'a' y 'b', y entre ellas - no una letra, no un dígito y no un espacio.

Dada la cadena:

txt = 'ave a#a a2a a$a a4a a5a a-a aca'

Escriba una expresión regular que reemplace todos los espacios por '!'.

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