Tengo entendido que las tres líneas a continuación deben devolver un ARRAY con 2 resultados en él. Sin embargo, RegExp solo devolverá 1 resultado, sin importar cuántas veces se repita la expresión regular en la cadena.Javascript Regexp no devuelve resultados globales
¿Puede alguien explicar por qué? Y tal vez sugiera cómo puedo lograr que RegExp me dé resultados globales.
//INTPUT:
console.log(new RegExp("New York", "gi").exec("New York New York"));
//OUTPUT:
["New York"]
//INTPUT:
console.log(new RegExp(/New York/gi).exec("New York New York"));
//OUTPUT:
["New York"]
//INTPUT:
console.log("New York New York".match(/New York/gi));
//OUTPUT:
["New York", "New York"]
ahora lo que realmente me intriga es que si se intenta '('Nueva York') .match (/ New York/gi) 'traerá solo 1 resultado (como se espera) y no puedo pensar en una mejor manera de evitar esto (cuando sea necesario) [que no sea iterar sobre él] (http: // stackoverflow. com/questions/42328875/javascript-regex-to-remove-all-numbers-with-specific-lenght-or-do-a-persistent)! :( – cregox