RegEx de Python
- Página anterior JSON de Python
- Página siguiente PIP de Python
RegEx o expresión regular es una secuencia de caracteres que forma un patrón de búsqueda.
RegEx se puede usar para verificar si una cadena contiene un patrón de búsqueda especificado.
RegEx
Python ofrece un módulo llamado re
paquete integrado, se puede usar para manejar expresiones regulares.
Importar re
Módulo:
import re
RegEx en Python
Importar re
Después de importar el módulo, se puede comenzar a usar expresiones regulares:
Ejemplo
Buscar la cadena para ver si comienza con "China" y termina con "country":
import re txt = "China es un gran país" x = re.search("^China.*country$", txt)
Funciones RegEx
re
El módulo proporciona un conjunto de funciones que permiten buscar coincidencias en cadenas:
Función | Descripción |
---|---|
findall | Devuelve una lista que contiene todas las coincidencias |
search | Si hay alguna coincidencia en cualquier posición de la cadena, devuelve un objeto Match |
split | Devuelve una lista que divide la cadena en cada coincidencia |
sub | Reemplaza una o más coincidencias con una cadena |
Metacaracter
Los metacaracteres son caracteres que tienen un significado especial:
Carácter | Descripción | Ejemplo | TIY |
---|---|---|---|
[] | Un grupo de caracteres | "[a-m]" | Intente esto |
\ | Ilustra la secuencia especial (también se puede usar para escapar caracteres especiales) | "\d" | Intente esto |
. | Cualquier carácter (salvo el carácter de nueva línea) | "he..o" | Intente esto |
^ | Comienza con | "^hello" | Intente esto |
$ | Termina en | "world$" | Intente esto |
* | Cero o más apariciones | "aix*" | Intente esto |
+ | Una o más apariciones | "aix+" | Intente esto |
{} | Apariciones exactamente especificadas | "al{2}" | Intente esto |
| | Cualquiera de los dos | "falls|stays" | Intente esto |
() | Captura y agrupación |
Secuencia especial
Una secuencia especial es \
seguido de algún carácter de la siguiente tabla, tiene un significado especial:
Carácter | Descripción | Ejemplo | TIY |
---|---|---|---|
\A | Si el carácter especificado se encuentra al principio de la cadena, devuelve la coincidencia | "\AThe" | Intente esto |
\b | Devuelve una coincidencia donde el carácter especificado está en el principio o final de la palabra |
r"\bain" r"rain\b" |
Intente esto Intente esto |
\B | Devuelve una coincidencia donde el carácter especificado existe, pero no en el principio (o final) de la palabra |
r"\Bain" r"rain\B" |
Intente esto Intente esto |
\d | Devuelve una coincidencia donde la cadena contiene dígitos (dígitos 0-9) | "\d" | Intente esto |
\D | Devuelve una coincidencia donde la cadena no contiene dígitos | "\D" | Intente esto |
\s | Devuelve una coincidencia donde la cadena contiene caracteres en blanco | "\s" | Intente esto |
\S | Devuelve una coincidencia donde la cadena no contiene caracteres en blanco | "\S" | Intente esto |
\w | Devuelve una coincidencia donde la cadena contiene caracteres de palabra (caracteres desde a hasta Z, dígitos desde 0 hasta 9 y el carácter de subrayado _) |
"\w" | Intente esto |
\W | Devuelve una coincidencia donde la cadena no contiene caracteres de palabra | "\W" | Intente esto |
\Z | Si el carácter especificado se encuentra al final de la cadena, devuelve la coincidencia | "Spain\Z" | Intente esto |
Conjunto (Set)
El conjunto (Set) se representa por paréntesis cuadrados []
Un grupo de caracteres dentro de un conjunto de corchetes, que tiene significado especial:
Conjunto | Descripción | Intente esto |
---|---|---|
[arn] | Devuelve una coincidencia que contenga uno de los caracteres especificados (a, r o n) | Intente esto |
[a-n] | Devuelve las coincidencias de cualquier carácter en minúsculas entre a y n | Intente esto |
[^arn] | Devuelve las coincidencias de cualquier carácter que no sea a, r o n | Intente esto |
[0123] | Devuelve las coincidencias que contienen cualquier número especificado (0, 1, 2 o 3) | Intente esto |
[0-9] | Devuelve cualquier número entre 0 y 9 | Intente esto |
[0-5][0-9] | Devuelve las coincidencias de cualquier número entre 0 y 9 | Intente esto |
[a-zA-Z] | Devuelve las coincidencias de cualquier carácter entre a y z, tanto en minúsculas como en mayúsculas | Intente esto |
[+] | En el conjunto, +, *, ., |, (), $, {} no tienen significado especial, por lo que [+] representa: devuelve todas las coincidencias del carácter + en la cadena | Intente esto |
Función findall()
findall()
La función devuelve una lista que contiene todas las coincidencias.
Ejemplo
Imprima la lista de todas las coincidencias:
import re str = "China es un gran país" x = re.findall("a", str) print(x)
Esta lista contiene las coincidencias encontradas en el orden en que se encuentran.
Si no se encuentra una coincidencia, se devuelve una lista vacía:
Ejemplo
Si no se encuentra una coincidencia, se devuelve una lista vacía:
import re str = "China es un gran país" x = re.findall("USA", str) print(x)
Función search()
search()
La función busca coincidencias en la cadena y devuelve un objeto Match si existe una coincidencia.
Si hay múltiples coincidencias, solo se devuelve la primera coincidencia:
Ejemplo
Búsque el primer carácter de espacio en blanco en la cadena:
import re str = "China es un gran país" x = re.search("\s", str) print("La primera posición del carácter de espacio en blanco es:", x.start())
Si no se encuentra una coincidencia, se devuelve el valor: Nulo
:
Ejemplo
Realice una búsqueda sin devolver la coincidencia:
import re str = "China es un gran país" x = re.search("USA", str) print(x)
Función split()
split()
La función devuelve una lista donde la cadena se divide cada vez que se encuentra una coincidencia:
Ejemplo
Divida la cadena en cada carácter de espacio en blanco:
import re str = "China es un gran país" x = re.split("\s", str) print(x)
Puede especificar maxsplit
El parámetro se utiliza para controlar la cantidad de apariciones:
Ejemplo
Divida la cadena solo en la primera aparición:
import re str = "China es un gran país" x = re.split("\s", str, 1) print(x)
Función sub()
sub()
La función reemplaza la coincidencia con el texto que elija:
Ejemplo
Reemplace cada carácter de espacio en blanco con el número 9:
import re str = "China es un gran país" x = re.sub("\s", "9", str) print(x)
Puede especificar count
El parámetro se utiliza para controlar el número de reemplazos:
Ejemplo
Reemplazar las dos primeras apariciones:
import re str = "China es un gran país" x = re.sub("\s", "9", str, 2) print(x)
Objeto Match
El objeto Match es un objeto que contiene información sobre la búsqueda y los resultados.
Notas:Si no hay coincidencias, se devuelve el valor Nulo
en lugar de objeto Match.
Ejemplo
Se ejecutará y devolverá un objeto Match de búsqueda:
import re str = "China es un gran país" x = re.search("a", str) print(x) # Se imprimirá un objeto
El objeto Match proporciona propiedades y métodos para obtener información sobre la búsqueda y los resultados:
span()
El tupla devuelto contiene la posición de inicio y final de la coincidencia.string
Devolver la cadena introducida en la funcióngroup()
Devolver la parte de la coincidencia
Ejemplo
Imprimir la posición de la primera coincidencia (posición de inicio y posición de final).
Buscar expresiones regulares que comiencen con una letra mayúscula "C" en cualquier palabra:
import re str = "China es un gran país" x = re.search(r"\bC\w+", str) print(x.span())
Ejemplo
Imprimir la cadena introducida en la función:
import re str = "China es un gran país" x = re.search(r"\bC\w+", str) print(x.string)
Ejemplo
Imprimir la parte de la cadena coincidente.
Buscar expresiones regulares que comiencen con una letra mayúscula "C" en cualquier palabra:
import re str = "China es un gran país" x = re.search(r"\bC\w+", str) print(x.group())
Notas:Si no hay coincidencias, se devuelve el valor Nulo
en lugar de objeto Match.
- Página anterior JSON de Python
- Página siguiente PIP de Python