[Python-es] Expresiones regulares por grupo

lopz lowlifebob en gmail.com
Jue Feb 10 02:46:43 CET 2011


Hola

Hace poco empecé son las expresiones regulares y estaba tratando de
usarlas y tengo un pequeño problema al momento de
parsear un html que extraigo de una página web, la idea es la
siguiente, de un trozo de código html quiero extraer datos pero de
diferentes líneas
para esto hago uso de los grupos, mejor paso a pegar el trozo de
código html y lo que intento extraer y lo que tengo hasta el momento


<h2>Google search: <a
href="http://www.google.com/search?hl=en&#038;q=BUSQUEDA&#038;btnG=Google+Search"
class="external" rel="nofollow">&quot;BUSQUEDA</a></h2>

<p>algo</p>
<p>fecha: 2006-03-06</p>
<p class="text">LINEA 1
LINEA 2
LINEA3</p>
</div>

Tengo esto y lo que quiero es obtener 3 datos de ahí,  lo que dice
BUSQUEDA, luego de la q=
luego la fecha y por último LINEA 1, LINEA 2 y LINEA 3

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
lo que tengo hasta el momento es esto para obtener la palabra BUSQUEDA
q=(.+?)["|&] <- esto me busca hasta que cierra comillas o hasta que se
encuentre con & que aveces está presente en medio y que a partir
de ahí son parámetros que usa google
para la fecha lo tengo así: (\d{4}-\d{2}-\d{2})
y para lo otro sería casi igual pero mi problema es que no se unirlas
en una sola expresión jeje
osea que en medio de esas incluya cualquier cosa como las etiquetas
</h2> saltos de linea, tabs, etc
Espero me puedan ayudar, desde ya muchas gracias

saludOS!

-- 
lopz es libre, usa --> GNU/linux gentoo

+--[RSA 2048]--+
|  ..o.o=+       |
|   o =o*.+      |
|  . . *oO .      |
|     .EBoo      |
|      o.S         |
+--[lopz.org]--+


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