Regular Expressions


Las expresiones regulares (a veces resumidas como 'regexp', 'regex', o 're') son una herramienta para unir patrones de texto. En Python, tenemos el modulo de re. Las aplicaciones para expresiones regulares están muy extendidas, pero son bastante complejas, así que cuando consideres usar una expresión regular para una determinada tarea, piensa primero alguna alternativa, y acude a regexes como un ultimo recurso.

Como un ejemplo tenemos r"^(From|To|Cc).*[email protected]" Ahora para explicarlo mejor:

El signo de intercalacion ^ coincide con el texto al comienzo de una línea. El siguiente grupo, la parte con (From|To|Cc) significa que la línea tiene que comenzar con una de las palabras que están separadas por el pipe |. Eso se llama operador OR, y la expresión regular coincidirá si la línea comienza con cualquier de las palabras en el grupo. El .\*?significa emparejar sin codicia cualquier número de caracteres, excepto el caracter de nueva linea \n.La parte no codiciosa significa hacer coincidir la menor cantidad de repeticiones posible. El caracter . significa cualquier caracter que no sea de nueva linea, el \* significa repetir 0 o mas veces, y el caracter ? lo hace no codicioso.

Entonces, las siguientes líneas coincidirían con esa expresión regular: From: [email protected] To: !asp]<,. [email protected]

A complete reference for the re syntax is available at the python docs.

As an example of a "proper" email-matching regex (like the one in the exercise), see this


Copyright © learnpython.org. Read our Terms of Use and Privacy Policy