Título: Problema con expresiones regulares Publicado por: Debci en 21 Agosto 2010, 22:05 pm Hola a todos, hace un rato me ha dado el puntazo de hacerme un parser para una pagina web y he decidido hacerlo en Python, he leido la doc de las regexp con algunos ejemplos, pero no funciona como deberia, al menos eso me parece a mi:
Código
Si en teoria introduzco http://www.google.net Deberia devolverme cierto no? Pero no es asi. No tengo claro del todo que hace el + pero creo que concatena las dos cadenas, es como el divisor entre miembros, pero no estoy seguro. Saludos Título: Re: Problema con expresiones regulares Publicado por: leogtz en 21 Agosto 2010, 22:54 pm + es un cuantificador y busca 1 o más elementos.
Prueba así: Código: if re.match("http://(.+)\.net", palabra): Código: if re.match("http://(.*)\.net", palabra): PD: No sé regexp con python, así que no esperes que funcione. Título: Re: Problema con expresiones regulares Publicado por: Debci en 21 Agosto 2010, 22:57 pm + es un cuantificador y busca 1 o más elementos. Jaja pues funciona xDPrueba así: Código: if re.match("http://(.+)\.net", palabra): Código: if re.match("http://(.*)\.net", palabra): PD: No sé regexp con python, así que no esperes que funcione. Gracias men :) Saludos Título: Re: Problema con expresiones regulares Publicado por: leogtz en 21 Agosto 2010, 22:59 pm De nada.
Título: Re: Problema con expresiones regulares Publicado por: ~ Yoya ~ en 22 Agosto 2010, 00:23 am Bueno, aunque leo dio una respuesta, ps detallo un poco mas.
Tu error esta aqui. http://(.+)\net Estas indicando que existe una nueva linea y por lo tanto siempre la expresión fallara... Nose porque usas los paréntesis, ya que no capturas nada.... Código Acepto http://www.google.net, http://google.net, http://www.google.com, etc... Título: Re: Problema con expresiones regulares Publicado por: leogtz en 22 Agosto 2010, 10:12 am También se podría utilizar '$' si quieres limitar la cadena.
Título: Re: Problema con expresiones regulares Publicado por: Debci en 22 Agosto 2010, 11:04 am Bueno, aunque leo dio una respuesta, ps detallo un poco mas. Pues no veo donde le indicaste la coma final y todo eso xDTu error esta aqui. http://(.+)\net Estas indicando que existe una nueva linea y por lo tanto siempre la expresión fallara... Nose porque usas los paréntesis, ya que no capturas nada.... Código Acepto http://www.google.net, http://google.net, http://www.google.com, etc... Por cierto para que sirve el "?"? Saludos Título: Re: Problema con expresiones regulares Publicado por: ~ Yoya ~ en 22 Agosto 2010, 16:41 pm No entiendo a que te refieres con la coma final...
el signo de interrogación ?, sirve para indicar que algo puede aparecer máximo una sola vez... Título: Re: Problema con expresiones regulares Publicado por: Shell Root en 22 Agosto 2010, 19:36 pm Supongo que se refiere a estó... -Sería un Pwned muy coño-
Acepto http://www.google.net, http://google.net, http://www.google.com, etc... Título: Re: Problema con expresiones regulares Publicado por: ~ Yoya ~ en 22 Agosto 2010, 23:13 pm jajaja, las comas ya son otro tema...
|