[Perl] Duda sobre Regexp

Gunnar Wolf gwolf en gwolf.org
Sab Nov 19 11:49:55 CST 2005


Gustavo Chain dijo [Sat, Nov 19, 2005 at 02:15:45PM +0000]:
> Hola, tengo una duda que probablemente sea muy sencilla de solucionar
> 
> con una lista más o menos así:
> 
> <a href="http://www.x.cl" class="clase" bla bla...>.
> <a href="http://www.y.cl" class="clase" bla bla...>.
> <a href="http://www.z.cl" class="clase" bla bla...>.
> 
> 
> Necesito sólo imprimir una lista con las URL
> 
> alguna idea?

Hay muchos modos - Tal vez te interese asomarte a modulos como
HTML::SimpleParse o HTML::TokeParser::Simple para hacerlo de una
manera más robusta y elegante. Pero bueno, asumiendo que tienes tu
documento tal como lo pusiste, usemos las expresiones regulares. De
paso, podemos crear un bonito one-liner que sorprenderá a sus
amistades! 

perl -ne '/href\s*=\s*"([^"]+)"/ and $1' < archivo.html

Claro, siempre hace falta más sofisticación... Esto sólo te va a
imprimir el primer URL de cada línea, pero puede que sea lo que
requieres :) Si no... Bueno, un clavadito a las expresiones regulares
o a los parsers de HTML.

Saludos,

-- 
Gunnar Wolf - gwolf en gwolf.org - (+52-55)1451-2244 / 5623-0154
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF


Más información sobre la lista de distribución Perl