Estoy tratando de obtener un texto de enlace utilizando expresiones regulares. posiblemente hay varios enlaces que pueden coincidir con el patrón y quiero obtener el más lejano hasta el 4to. Aquí está mi código JS:Expresiones regulares de Javascript - ciclo infinito del ejecutivo
var level=1;
while (_match = /<a href="http:\/\/www.mysite.com\/x\/(?:.*)>(.*)<\/a>/img.exec(_html)){
if (level < 5) (_anchor_text=_match[1]);
level ++;
}
El problema es que el código entra en un bucle infinito en IE (funciona bien en FF), aunque existe el patrón. Cualquier ayuda es apreciada.
Este código utilizado realmente para trabajar hasta FF3.6, debido a que el mismo objeto RegExp ha sido reutilizado en cada iteración (de acuerdo con ES3). Pero luego ES3 fue reemplazado por ES5, que cambió la forma en que se manejan los literales RegExp: "Los literales de expresiones regulares ahora devuelven un objeto único cada vez que se evalúa el literal". Efectivamente, hacer que la bandera 'g' sea inútil en su caso. http://es5.github.com/#E Nuevamente, IE estaba adelantado a su tiempo. – Robert