• Publicidad

Punto dentro de expresión regular

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

Punto dentro de expresión regular

Notapor Zeokat » 2007-12-24 19:22 @849

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -w
use strict;

my $palabra = 'W$j@/E';
if ($palabra =~ /./)  {
    print "Si que tiene un punto";
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Ese código me dice que mi palabra tiene un punto, pero mi palabra no tiene ningún punto, :shock: ... ¿dónde está el error? ¿Se puede solucionar?

Gracias de antemano.
Zeokat
Perlero nuevo
Perlero nuevo
 
Mensajes: 125
Registrado: 2006-08-22 08:08 @380

Publicidad

Notapor Jenda » 2007-12-25 14:04 @628

Un punto dentro de una regexp significa "cualquier carácter" así que tienes que escapar el punto con un backslash:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
if ($palabra =~ /\./)  {
    print "Si que tiene un punto";
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Jenda
Perlero nuevo
Perlero nuevo
 
Mensajes: 132
Registrado: 2007-10-29 06:31 @313
Ubicación: Praga, Republica Checa

Notapor Zeokat » 2007-12-25 22:29 @978

Vaya vaya.... muchas gracias, deduzco entonces que cada vez que quiera escapar de algo que tenga un significado "especial" dentro de una regexp tendré que usar el backslash.

Gracias Jenda por la respuesta. ;)

Feliz navidad.
Zeokat
Perlero nuevo
Perlero nuevo
 
Mensajes: 125
Registrado: 2006-08-22 08:08 @380


Volver a Básico

¿Quién está conectado?

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

cron