He cambiado a Python hace poco y estoy interesado en limpiar una gran cantidad de páginas web (alrededor de 12k) (pero pueden considerarse archivos de texto igual de fáciles)) al eliminar algunas etiquetas particulares o algunos otros patrones de cadena. Para esto estoy usando la función re.sub (..) en Python.Reemplazo usando expresiones regulares múltiples o una más grande en Python
Mi pregunta es si es mejor (desde el punto de vista de la eficiencia) crear una gran expresión regular que coincida con más de mis patrones o llamar a la función varias veces con expresiones regulares más pequeñas y simples.
Para ejemplificar, es mejor usar algo así como
re.sub(r"<[^<>]*>", content)
re.sub(r"some_other_pattern", content)
o
re.sub(r"<[^<>]*>|some_other_pattern",content)
Por supuesto, en aras de ejemplificar los patrones anteriores son muy simples y no los han recopilado aquí, pero en mi escenario de la vida real lo haré.
LE: La pregunta no está relacionada con la naturaleza HTML de los archivos, sino con el comportamiento de Python cuando se trata de varios patrones de expresiones regulares.
Gracias!
[Advertencia obligatoria sobre el análisis de HTML con expresiones regulares] (http://stackoverflow.com/a/1732454/950912) – brc
En realidad, como he dicho, no se trata principalmente de eliminar y analizar texto HTML, sino de eliminar algunas Patrones relacionados con HTML. Mi pregunta también se puede hacer de forma general sobre archivos de texto simples y reemplazando un montón de patrones en ellos –
Creo que todo se reduce a lo bueno que eres con expresiones regulares ... si puedes hacerlo con uno que no uses uno ... probablemente lo dividiría en varios, así que es más fácil de analizar humano ... –