On Apr 1, 2013, at 18:30, Javier Alonso <[email protected]> wrote:

> Saludos a todos,
> 
> Me llamo Javier, trabajo como administrador de sistemas y estoy aprendiendo 
> python por el gran juego que puede dar en este área.
> 
> Ahora mismo estoy desarrollando una herramienta que me permita trabajar 
> fácilmente con ficheros de zonas de Bind, pero estoy teniendo problemas con 
> el módulo re.
> 
> Tengo la siguiente cadena:
> 
> 
> @       IN      SOA     ns1.nameserverprimario.com. admin.dominio.com. (
>                         2013022101       ; serial, todays date + todays 
> serial #
>                         7200              ; refresh, seconds
>                         540              ; retry, seconds
>                         604800              ; expire, seconds
>                         86400 )            ; minimum, seconds
> 
> Aunque podría ser la siguiente también: 
> 
> @       IN      SOA     ns1.nameserverprimario.com. admin.dominio.com. (  
> 2013022101     7200  540  604800    86400 )    
> 
> Estoy intentando crear un método que le pases la cadena, y devuelva un 
> diccionario del estilo:
> 
> Zona : @
> Tipo : SOA
> Servidor primario: ns1.nameserverprimario.com.
> Correo: admin.dominio.com.
> Serial: 2013022101
> Refresh: 7200
> Retry: 540
> Expire: 7200
> TTL: 86400
> 
> Estoy atascado con las regexp. De momento quiero separar cada elemento de la 
> siguiente cadena "@       IN      SOA     ns1.nameserverprimario.com. 
> admin.dominio.com."
> 
> grupos = 
> re.match('^([@]|[a-zA-z0-9\.]*\.)(\s+)IN(\s+)SOA(\s+)([@]|[a-zA-z0-9\.]*\.)(\s+)([@]|[a-zA-z0-9\.]*\.)','@
>        IN      SOA     ns1.nameserverprimario.com. admin.dominio.com.')
> print(grupos.group())
> 
> 
> Muchas gracias por vuestra ayuda,
> Javier Alonso 
> 
> 
> _______________________________________________
> Python-es mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/



Se suele decir que si tienes un problema y lo quieres arreglar con RE entonces 
tienes dos problemas.
Si sabes de antemano el número de campos en el input, su formato y su posición, 
quizás te resulte más fácil partir el string con split().

Jose
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a