Ver Mensaje Individual
  #14 (permalink)  
Antiguo 12/09/2008, 08:54
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 6 meses
Puntos: 45
Respuesta: Separar Numero , en parte entera y parte decimal

Hola:

Cita:
Iniciado por buzu Ver Mensaje
Bien, Gracias por compartir el dato! Por cierto, que no las expresiones regulares son iguales sin importar el lenguaje? Corrijanme si me equivoco.
Pues sí, creo que es universal para todos los lenguajes y aplicaciones que las interpretan (PHP, javascript, perl, grep, editpad, editplus...), pero hay pequeñas diferencias. Por ejemplo la implementación de javascript 1.2 (según leo aqui) (IE6 creo que la tiene como última versión) no interpreta bien las repeticiones no ambiciosas (existe un término para esto, pero no me sale). Pero 1.5 y siguientes sí (FF3, y creo que 2) El ejemplo sería este:

Código:
Expresión   ==>  .+\.  ==> Cualquier carácter al menos una vez y luego un punto (ambiciosa)
String      ==>  "Hola que tal. Yo estoy muy bien."
Captura     ==>  "Hola que tal. Yo estoy muy bien."

Expresión   ==>  .+?\.  ==> Cualquier carácter al menos una vez y luego un punto (no ambiciosa)
String      ==>  "Hola que tal. Yo estoy muy bien."
Captura     ==>  "Hola que tal."
Las no ambiciosas capturan lo justo, lo mínimo. Pero las ambiciosas capturan todo lo que pueden (lo máximo).

Tampoco soportan las lookbehind assertion (no encuentro un link decente donde lo mencione). Lo escribí en este post: http://www.forosdelweb.com/f13/expre...9/#post2197877. Esa expresión que nos trae stakabrown tiene una aserción predictiva (lookahead, AKA que y vaya delante de x en x(?=y) ).

Yo habría escrito algo simple, como esto:
^-?\d+(\.\d+)?$
Permitiendo números negativos, y opcionalmente decimales:
Código:
(en negrita las que sí pasan la expresión regular)
1
1.223
.123
0.0
0.111
12312.00
-123.23
-456
3as2
Hay pequeñas variaciones sobre cosas avanzadas como las aserciones esas (que poco se usan), pero básicamente la sintaxis es común.





EDITO: He encontrado un link decente que explica qué tiene y qué no tiene cada implementación de las expresiones regulares: http://www.regular-expressions.info/refflavors.html
Mirad la columna de ECMA. Cosas como las condicionales no son soportadas (y serían muy dificiles de simular supongo, lo intenté y desistí). También da información sobre qué programas o lenguajes pueden entender una expresión regular.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.

Última edición por derkenuke; 12/09/2008 a las 09:00 Razón: Link interesante sobre expresiones regulares.