Expresiones Regulares , ficheros, Python y problemas

inf200468 en ucf.edu.cu inf200468 en ucf.edu.cu
Vie Feb 15 15:21:33 CET 2008



Hola:
            tengo un
fichero log , donde sus lineas son algo como:


10.14.17.12 - - [06/Feb/2008:07:35:19 -0500] "GET /src/webmail.php
HTTP/1.1" 200 335 "http://correo/src/login.php" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 2.0.50727)"

10.14.17.12 - - [06/Feb/2008:07:35:19 -0500] "GET /src/left_main.php
HTTP/1.1" 200 3041 "http://correo/src/webmail.php" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 2.0.50727)"

esa son dos lineas que pongo de ejemplo, claro como aqui no caben se llevan 2 o 3.
La cuestion es que necesito extraer de ellas la ip que aparece y la fecha , entre
otras cosas, para esto utilizo el modulo re, hice lo sgte:

patron_IP =
re.compile('[10-256]..[0-255]..[0-255]..[0-255]') 
iterator = patron_IP.finditer
(linea)
for result in iterator:
    print
linea[result.start():result.end()]

pero nunca me devuelve la ip completa solo
10.14.17.1 y el 2 no lo da, es decir el ultimo numero, para la fecha escribi:

patron_FECHA = re.compile('[00-31]./.*./.*.:[00-60]')
i = patron_FECHA.finditer
(linea)
for result in i:
    print
linea[result.start():result.end()]

y a veces lo devuelve correctamente y
otras no , quisiera saber pq , estoy casi seguro que es un error con las er, es mi
primera vez utilizando e.r si me pueden sugerir algo mejor vale ok.
Disculpen por
el largo del correo 
Gracias




------------------------------
Participe en Universidad 2008
11 al 15 de febrero del 2008
Palacio de las Convenciones,
Ciudad de la Habana, Cuba
http://www.universidad2008.cu
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es