Luis miguel Morrillas y andsux gracias por las respuestas, mi pregunta ha ido dirigida exclusivamente para usar expresiones regulares (y es que así lo quiero hacer) y en el caso de usar algun parser sería para algo "más grande" u obtención de muchos datos. Yo estoy haciendo algo pequeño, siempre he usado Beautiful Soup y es la que mejor resultados me ha dado inclusive con html con etiquetas incompletas o sin cerrar, de todos modos gracias de nuevo por las respuestas
El día 10 de febrero de 2011 04:50, Chema Cortes <pych...@gmail.com> escribió: > El día 10 de febrero de 2011 02:46, lopz <lowlife...@gmail.com> escribió: > >> Sabría hacerlo por partes, primero un datos luego el otro y así, pero >> mi idea es hacerlo en una sola expresión y obtenerlo por grupos > > Igual es que ése es el modo, buscar cada patrón por separado. En > general, el módulo re es bastante rápido como para que te preocupe > hacer tres veces la búsqueda. Hola, bueno ese era el problema que no quería hacerlo 3 veces pero si es la forma, o la mejor así se hará > Si sabes que los tres patrones de búsqueda van a ir en ése orden, se > podrían encadenar: > > pat1="""q=(.*?)[&"]""" > pat2="(\d{4}-\d{2}-\d{2})" > pat3="""<p class="text">(.*?)</p>""" > > pat=re.compile(".*?".join((pat1,pat2,pat3)), re.DOTALL) > > Dos comentarios: > > 1) activa el flag dotall para búsquedas multilíneas > 2) te sobraba el carácter | en el primer patrón (por lo que comentabas) Sí, gracias por el tip, lo del caracterr | lo puse por or pero ahora que veo no es necesario jeje Peero sigo con la duda de que cómo sería en una sola expresión? cómo le digo que me coja desde q= hasta </p> y lo que está en medio agrupar partes por grupos? ¿o es que esto no se puede? SaludOS! -- lopz es libre, usa --> GNU/linux gentoo +--[RSA 2048]--+ | ..o.o=+ | | o =o*.+ | | . . *oO . | | .EBoo | | o.S | +--[lopz.org]--+ _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/