Al parecer, de nuevo en Firefox 3.6, la siguiente era legítima:javascript expresiones regulares como funciones?
/[0-9]{3}/('23 2 34 678 9 09')
y el resultado fue '678'.
FF8 no tiene ninguna. ¿Cuál es la sintaxis correcta ahora?
Al parecer, de nuevo en Firefox 3.6, la siguiente era legítima:javascript expresiones regulares como funciones?
/[0-9]{3}/('23 2 34 678 9 09')
y el resultado fue '678'.
FF8 no tiene ninguna. ¿Cuál es la sintaxis correcta ahora?
¿Quieres
/[0-9]{3}/.test('23 2 34 678 9 09');
o
/[0-9]{3}/.exec('23 2 34 678 9 09');
No sé por qué se necesita que la sintaxis, pero esto es algo para el lulz:
RegExp = (function(){
var old = RegExp;
return function(){
return old.prototype.exec.bind(old.apply(this, arguments));
};
})()
continuación:
new RegExp("[0-9]{3}")('23 2 34 678 9 09')
//["678"]
Tenga en cuenta que el constructor hackeado no se invocará al utilizar literales de modo que sólo funciona cuando se utiliza new RegExp
; P
¿Cuál fue el resultado? – Michas
Esto realmente depende de lo que quieras hacer ... hay 'test' y' exec', y las cadenas tienen 'match',' split' (y 'search'?). Sugiero: [Documentación RegExp, en MDN] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp). – Kobi
Lo creas o no, las pruebas de unidad interna de HtmlUnit tienen este código, y el resultado deseado es la cadena coincidente, si corresponde. – bmargulies