Mar Abr 11, 2006 12:22 pm
|
 |
slopal
Perlero Nuevo

|
Registrado: 23 Nov 2005
Mensajes: 78
|
|
| Expresion regular para numero decimal |
|
|
En el tutorial está esta:
que sirve para comprobar que contenga al menos algún caracter numérico.
por otra parte he visto que:
| Código: |
| $long =~ /^[0-9]+$/ |
me serviría para comprobar que tenga SÓLO numeros.
Pero yo quiero que tenga sólo números POSITIVOS, o sea que me excluya el 0 (sólo, porque si pongo [1-9] me excluye el 0, pero también cualquier número que lo contenga, como el 100).
Qué debo añadir? O cómo tendría que haberla planteado? |
|
|
|
Mar Abr 11, 2006 1:00 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4126
Ubicación: Valladolid, España
|
|
|
|
|
| Código: |
| $long =~ /^[1-9]\d*$/; |
Un número entero positivo es aquel que comienza (^) por un dígito entre uno y nueve ([1-9]) seguido posiblemente por más (*) dígitos (\d). |
|
Mar Abr 11, 2006 1:08 pm
|
 |
slopal
Perlero Nuevo

|
Registrado: 23 Nov 2005
Mensajes: 78
|
|
|
|
|
pues lo siento, pero no funciona :S así no me coge ningun numero  |
|
Mar Abr 11, 2006 1:14 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4126
Ubicación: Valladolid, España
|
|
|
|
|
| Código: |
| perl -le '$x=100;$x=~/^([1-9]\d*)$/;print $1' |
A mi me funciona... sale 100...
Para 'coger' números, hay que usar paréntesis...
O poner la expresión regular en un if:
| Código: |
| perl -le '$x=100; if ( $x =~ /^[1-9]\d*$/) { print "$x es positivo" }' |
|
|
Mar Abr 11, 2006 1:23 pm
|
 |
slopal
Perlero Nuevo

|
Registrado: 23 Nov 2005
Mensajes: 78
|
|
|
|
|
....
parece q estaba cansado mi script ahora va ¬¬
thanx!  |
|
Mar Abr 11, 2006 5:24 pm
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
|
Hola:
Si lo único que comprueba son números, entonces creo que la expresión regular es demasiado, pues simplemente puedes hacer lo siguiente:
| Código: |
if($long > 0){
print "Es un número entero";
}
|
Saludos |
|
Mar Abr 11, 2006 5:45 pm
|
 |
slopal
Perlero Nuevo

|
Registrado: 23 Nov 2005
Mensajes: 78
|
|
|
|
|
gracias,
es la entrada de un dato en un formulario. necesito también que no deje poner letras ni caracteres. con la expresion me va bien  |
|
Powered by phpBB © 2001, 2005 phpBB Group
|