Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Expresión Regular para cadenas con x caracteres

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Lun Abr 10, 2006 5:15 pm
slopal
Perlero Nuevo
Perlero Nuevo
Registrado: 23 Nov 2005
Mensajes: 78
Expresión Regular para cadenas con x caracteres Responder citando

Necesito controlar que una entrada SÓLO contenga los valores A, T, C o G

yo había pensado algo así:

Código:
if($tupla =~ /[A,C,G,T]+/)


pero sólo me "funciona" si sólo contienen letras que no sean a,t,c,g por ejemplo:
si entro 3 --> error (OK)
si entro AT --> bien (OK)
si entro bx --> error(OK)
si entro abx --> bien (MAAAL!!!)

no se como definir que no hayan "cosas" intercaladas :S
Mensaje Lun Abr 10, 2006 6:05 pm
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
Responder citando

Tu expresión debería ser así:

Código:

my @probar = ('3','AT','bx','abx');

for my $tupla(@probar){

    if($tupla =~ /^[ACGT]+$/){
        print "OK\n";
    }
    else{
       print "error\n";
    }

}


Expliquemos paso a paso:

Código:

^           #Inicio de línea
[ACGT]   #Las letras A,C,G o T
+           #Una vez o más
$            #Fin de línea



Saludos
Mensaje Lun Abr 10, 2006 6:34 pm
slopal
Perlero Nuevo
Perlero Nuevo
Registrado: 23 Nov 2005
Mensajes: 78
Responder citando

¡muchas gracias!
me faltaba el inicio y final Smile
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group