Capítulo 7. Expresiones regulares

Las expresiones regulares son una forma moderna y estandarizada de hacer búsquedas, reemplazos y análisis de texto usando patrones complejos de caracteres. Si ha usado las expresiones regulares en otros lenguajes (como Perl), la sintaxis le será muy familiar, y con sólo leer el resumen de módulo re puede hacerse una idea general de las funciones disponibles y sus parámetros.

7.1. Inmersión

Las cadenas tienen métodos para la búsqueda (index, find, y count), reemplazo (replace), y análisis (split), pero están limitadas a los casos más sencillos. Los métodos de búsqueda encuentran cadenas sencillas, fijas, y siempre distinguiendo las mayúsculas. Para hacer búsquedas de una cadena s sin que importen las mayúsculas, debe invocar s.lower() o s.upper() y asegurarse de que las cadenas que busca están en el caso adecuado. Los métodos replace y split tienen las mismas limitaciones.

Si lo que intentamos hacer se puede realizar con las funciones de cadenas, debería usarlas. Son rápidas y simples, y sencillas de entender, y todo lo bueno que se diga sobre el código rápido, simple y legible, es poco. Pero si se encuentra usando varias funciones de cadenas diferentes junto con sentencias if para manejar casos especiales, o si las tiene que combinar con split y join y listas por comprensión de formas oscuras e ilegibles, puede que deba pasarse a las expresiones regulares.

Aunque la sintaxis de las expresiones regulares es compacta y diferente del código normal, el resultado puede acabar siendo más legible que una solución hecha a mano que utilice una larga cadena de funciones de cadenas. Hay incluso maneras de insertar comentarios dentro de una expresión regular para hacerlas prácticamente autodocumentadas.