⊗pyPmREChS 40 of 129 menu

Conjuntos de caracteres en expresiones regulares de Python

Los grupos de caracteres \d y \w no son muy flexibles. Incluso una tarea tan simple como encontrar todas las letras, pero no los números - no puede ser resuelta por ellos. Para tales tareas se deben usar corchetes, que representan la operación 'o'.

Los corchetes reemplazan un carácter, cualquiera de los listados dentro. Por ejemplo, así: x[abc]x - decimos que en los extremos deben haber letras 'x', y dentro - un carácter: o 'a', o 'b', o 'c'.

Después de los corchetes se pueden escribir operadores de repetición. Por ejemplo, así: x[abc]+x - decimos que dentro de las 'x' puede haber cualquier cantidad de caracteres 'a', 'b' y 'c' - en cualquier combinación.

No solo se pueden enumerar caracteres, sino crear grupos de caracteres, escribiendo entre dos caracteres un guion. Por ejemplo, así: [a-d] - obtenemos todos los caracteres desde 'a' hasta 'd'.

Veamos algunos ejemplos.

Ejemplo

En este ejemplo, el patrón de búsqueda es así: entre 'x' cualquier letra desde 'a' hasta 'z':

<+Python+> txt = 'xax xbx xcx x@x' res = re.sub('x[a-z]x', '!', txt) print(res) <-python->

Resultado de la ejecución del código:

'! ! ! x@x'

Ejemplo

En este ejemplo, el patrón de búsqueda es así: entre 'x' cualquier letra desde 'a' hasta 'k':

txt = 'xax xbx xmx x@x' res = re.sub('x[a-k]x', '!', txt) print(res)

Resultado de la ejecución del código:

'! ! xmx x@x'

Ejemplo

En este ejemplo, el patrón de búsqueda es así: entre 'x' cualquier letra desde 'A' hasta 'Z':

txt = 'xax xBx xcx x@x' res = re.sub('x[A-Z]x', '!', txt) print(res)

Resultado de la ejecución del código:

'xax ! xcx x@x'

Ejemplo

En este ejemplo, el patrón de búsqueda es así: entre 'x' cualquier dígito desde 0 hasta 9:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[0-9]x', '!', txt) print(res)

Resultado de la ejecución del código:

'xax ! ! ! x@x'

Ejemplo

En este ejemplo, el patrón de búsqueda es así: entre 'x' cualquier dígito desde 3 hasta 7:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[3-7]x', '!', txt) print(res)

Resultado de la ejecución del código:

'xax x1x ! ! x@x'

Ejemplo

En este ejemplo, el patrón de búsqueda es así: entre 'x' cualquier letra desde 'a' hasta 'z' o dígito desde 1 hasta 9:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[a-z1-9]x', '!', txt) print(res)

Resultado de la ejecución del código:

'! ! ! ! x@x'

Ejemplo

En este ejemplo, el patrón de búsqueda es así: entre 'x' cualquier letra desde 'a' hasta 'z' o letra desde 'A' hasta 'Z':

txt = 'xax xBx xcx x5x x@x' res = re.sub('x[a-zA-Z]x', '!', txt) print(res)

Resultado de la ejecución del código:

'! ! ! x5x x@x'

Ejemplo

En este ejemplo, el patrón de búsqueda es así: entre 'x' cualquier letra desde 'a' hasta 'z' o los dígitos 1, 2:

txt = 'xax xbx x1x x2x x3x' res = re.sub('x[a-z12]x', '!', txt) print(res)

Resultado de la ejecución del código:

'! ! ! ! x3x'

Ejemplo

En este ejemplo, el patrón de búsqueda es así: entre 'x' letras desde 'a' hasta 'z' en cantidad desde 1 o más:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]+x', '!', txt) print(res)

Resultado de la ejecución del código:

'xx ! ! ! x123x xa3x'

Ejemplo

Hagamos que la cantidad de letras pueda ser cero:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]*x', '!', txt) print(res)

Como resultado obtendremos:

'! ! ! ! x123x xa3x'

Ejemplo

Dentro de los corchetes también se pueden indicar caracteres escapados. Encontremos una secuencia de letras y dígitos, repitiéndose cero o más veces:

txt = 'xx x@x xadx xas12x xa3x' res = re.sub('x[a-z\d]*x', '!', txt) print(res)

Resultado de la ejecución del código:

'! x@x ! ! !'

Ejemplo

Si necesitamos indicar otros corchetes, también debemos escaparlos:

txt = 'xx xrx xas[]x x3x' res = re.sub('x[a-z\[\]]*x', '!', txt) print(res)

Resultado de la ejecución del código:

'! ! ! x3x'

Problemas prácticos

Dada la cadena:

txt = 'aba aea aca aza axa'

Escriba una expresión regular que encuentre según el siguiente patrón: en los extremos hay letras 'a', y entre ellas - la letra 'b', 'e' o 'x'.

Dada la cadena:

txt = 'a1a a3a a7a a9a aba'

Escriba una expresión regular que encuentre según el siguiente patrón: en los extremos hay letras 'a', y entre ellas - un dígito desde 3 hasta 6.

Dada la cadena:

txt = 'aba aea afa aha aga'

Escriba una expresión regular que encuentre según el siguiente patrón: en los extremos hay letras 'a', y entre ellas - una letra desde 'a' hasta 'g'.

Dada la cadena:

txt = 'aba aea afa aha aga'

Escriba una expresión regular que encuentre según el siguiente patrón: en los extremos hay letras 'a', y entre ellas - una letra desde 'a' hasta 'f' y desde 'j' hasta 'z'.

Dada la cadena:

txt = 'aAa aea aEa aJa a3a'

Escriba una expresión regular que encuentre según el siguiente patrón: en los extremos hay letras 'a', y entre ellas - una letra desde 'a' hasta 'f' y desde 'A' hasta 'D'.

Dada la cadena:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Escriba una expresión regular que encuentre según el siguiente patrón: en los extremos hay letras 'a', y entre ellas - letras latinas minúsculas, sin afectar a las demás.

Dada la cadena:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Escriba una expresión regular que encuentre según el siguiente patrón: en los extremos hay letras 'a', y entre ellas - letras latinas minúsculas y mayúsculas, sin afectar a las demás.

Dada la cadena:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Escriba una expresión regular que encuentre según el siguiente patrón: en los extremos hay letras 'a', y entre ellas - letras latinas minúsculas y dígitos, sin afectar a las demás.

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