Đó là sự hiểu biết của tôi rằng cả ba dòng dưới đây sẽ trả về ARRAY với 2 kết quả trong đó. Tuy nhiên, RegExp sẽ chỉ trả về 1 kết quả bất kể số lần regex lặp lại trong chuỗi.Javascript Regexp không trả lại kết quả toàn cầu
Một số người có thể giải thích lý do không? Và có lẽ đề nghị làm thế nào tôi có thể nhận được RegExp để cho tôi kết quả toàn cầu?
//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"]
bây giờ những gì thực sự rất tò mò tôi là nếu bạn cố gắng '('New York New York') .match (/ New York/gi) 'nó sẽ chỉ mang lại 1 kết quả (như mong đợi) và tôi không thể nghĩ ra một cách tốt hơn để thực hiện điều này (khi cần thiết) [khác hơn là lặp lại nó] (http: // stackoverflow. com/questions/42328875/javascript-regex-to-remove-tất cả các số-với-cụ thể-chiều dài-hoặc-do-một-dai dẳng)! :( – cregox