• Publicidad

Expresiones regulares: capturar algunas URLs

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Expresiones regulares: capturar algunas URLs

Notapor daniCompaq » 2006-03-29 03:57 @206

Compañeros,

tengo esta rutina y quiero hacer que capture sólo los códigos de la forma
<a href="http://www.vilaweb.cat/www/noticia?LOQUESEA"

Cómo lo puedo hacer?? Lo he provado con este codigo...

Código: Seleccionar todo
sub getLinks
   {
   my @urls = @_;
   my %hash;
   $prefixurl= "http://www.vilaweb.cat/www/noticia?";

   foreach my $url ( @urls )
      {
      #while ( $url =~ /href="(.+?)"/gi )  #funciona!
      while ( $url =~ /href="$prefixurl"+?"/gi )
      {
         $hash
            { $1 } = 1 unless $1 =~ /#/;
      }
   }

   %hash;
}


pero no me funciona!
muchísimas gracias!!! :)
daniCompaq
Perlero nuevo
Perlero nuevo
 
Mensajes: 7
Registrado: 2006-03-16 07:02 @334

Publicidad

Notapor kidd » 2006-03-29 10:17 @470

Hola:

Lo primero que debes de recordar que es los parentesis sirven de captura, en la última prueba que haces no pones los parentesis.

Debe de funcionar lo siguiente:

Código: Seleccionar todo
  while ( $url =~ /href="(\Q$prefixurl\E(?:.*)?)"/gi )


Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 8 invitados