Lun Abr 10, 2006 5:15 pm
|
 |
slopal
Perlero Nuevo

|
Registrado: 23 Nov 2005
Mensajes: 78
|
|
| Expresión Regular para cadenas con x caracteres |
|
|
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 |
|
|
|
Lun Abr 10, 2006 6:05 pm
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
|
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 |
|
Lun Abr 10, 2006 6:34 pm
|
 |
slopal
Perlero Nuevo

|
Registrado: 23 Nov 2005
Mensajes: 78
|
|
|
|
|
¡muchas gracias!
me faltaba el inicio y final  |
|
Powered by phpBB © 2001, 2005 phpBB Group
|