Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/05/2007, 07:42
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 3 meses
Puntos: 45
Re: Validar numeros enteros

Me refiero a que los patrones encajarían con las mismas cadenas, sólo que en la tuya hay un lookahead assertion, y en la mía no lo hay, pero el contenido es exactamente el mismo, nada más.

Si incluímos el +- en el lookahead assertion estamos diciéndole a la expresión regular que no capture el signo, mientras que si no lo metemos ahí capturará todo lo que se encuentre:

Código PHP:
function e(q,noBr) {
    
document.body.appendChilddocument.createTextNode(q) );
    if(!
noBrdocument.body.appendChilddocument.createElement("BR") );
}


var 
patron_LA = /^(?:+|-)?(d+)$/ ;
var 
patron = /^(+|-)?(d+)$/ ;

var 
numero="-12";

e("Sin lookahead:");
var 
matching numero.match(patron);
for(var 
i in matching) {
    
e(i+" -->"matching[i]);
}
e("Con lookahead:");
var 
matching numero.match(patron_LA);
for(var 
i in matching) {
    
e(i+" -->"matching[i]);

Salida:
Cita:
Sin lookahead:
0 -->-12
1 -->-
2 -->12
index -->0
input -->-12
Con lookahead:
0 -->-12
1 -->12
index -->0
input -->-12
Es una tontería, y a efectos del test() da lo mismo, pero por apuntarla nada más.


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.