• Publicidad

Duda con expresión regular básica

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Duda con expresión regular básica

Notapor BigBear » 2011-06-05 18:33 @815

Hola. Tengo un problema con el siguiente código al cual quiero sacar cierta parte del texto pero por el problema de espacios no me deja.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $re = "testaraaa
  2.  
  3. aatestar";
  4.  
  5. chomp $re;
  6.  
  7. if($re=~/testar(.*)testar/) {
  8. print $1;
  9. } else {
  10. print "no\n";
  11. }
  12.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


¿ Alguien me podría ayudar ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Duda con expresión regular básica

Notapor explorer » 2011-06-05 18:43 @822

El problema es que el comodín '.', aunque, por definición, equivale a cualquier carácter, no coincide con los caracteres que indican el fin de línea. Y tu texto tiene varias líneas.

Solo tienes que agregar la opción /s a la expresión regular, para que '.' considere a esos caracteres como caracteres normales, y entonces (.*) capture todo, incluidos los finales de línea.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda con expresión regular básica

Notapor BigBear » 2011-06-06 08:32 @397

Problema resuelto , gracias explorer
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818


Volver a Básico

¿Quién está conectado?

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