re.compile

Nombre completo
re.compile
Librería
re
Sintaxis

re.compile(pattern, flags=0)

Descripción

La función re.compile crea un objeto de expresión regular compilando un patrón de expresión regular, objeto que puede ser usado como patrón de coincidencias en las funciones re.match, re.search, etc.

El uso de esta función tiene sentido principalmente cuando queramos reutilizar un patrón de búsqueda a lo largo de nuestro código, pues la compilación previa del patrón de búsqueda convierte al proceso en más eficiente. Por ejemplo, podemos partir del siguiente código que realiza una búsqueda de un mismo patrón en dos textos distintos:

re.search(r"gat[o|a]", "mi gato y tu gata son bonitos")
<re.Match object; span=(3, 7), match='gato'>
re.search(r"gat[o|a]", "mi perro y tu gata comen mucho")
<re.Match object; span=(14, 18), match='gata'>

Este mismo código podría reescribirse compilando una única vez el patrón de búsqueda, y reutilizando el resultado en las dos búsquedas, resultando este segundo enfoque más eficiente:

re_obj = re.compile(r"gat[o|a]")
re_obj.search("mi gato y tu gata son bonitos")
<re.Match object; span=(3, 7), match='gato'>
re_obj.search("mi perro y tu gata comen mucho")
<re.Match object; span=(14, 18), match='gata'>
Parámetros
  • pattern: Patrón de búsqueda a compilar.
  • flags: Modificadores de búsqueda.
Resultado

La función re.compile devuelve un objeto de expresión regular.

Ejemplos

Dado el texto "Mi gato, tu perro y mis gatas están jugando", podemos buscar la presencia de los términos "perro" y "gato" con independencia del sexo y del número del término con el siguiente código:

text = "Mi gato, tu perro y mis gatas están jugando"
pattern = r"perr[oa]s?|gat[oa]s?"
re_obj = re.compile(pattern)
re_obj.findall(text)
['gato', 'perro', 'gatas']
Enviado por admin el Lun, 03/05/2021 - 09:37