Thursday, August 13, 2009

Python: expresiones regulares (2)

Se trata de ampliar un poco lo de las expresiones regulares con un par de ejemplos:

import re
vhost_start = re.compile(r'<VirtualHost\s(.*?)>')
  • r al principio signifa que es una raw string por eso no escapo el <
  • <VirtualHost\s significa que buscamos <VirtualHost seguido de cualquier carácter de espacio en blanco (\t\n\r\f\v)
  • (.*?) el . significa cualquier carácter menos newline, * significa n veces la condición anterior, ? precedido de * significa al menos 1 vez la condición anterior
  • > que acabe en >

docroot_re = re.compile(r'(DocumentRoot\s+)(\S+)')

  • r'...' significa cadena de tipo raw
  • (DocumentRoot\s+) significa que cumple que tiene DocumentRoot más uno o más espacios o similar
  • (\S+) lo anterior va seguido de una cadena diferente de espacios en blanco.

No comments: