這個問題在這里已經有了答案:
為什么會groups是未定義的?我想在每個捕獲組匹配的字串中找到索引,但該資訊神秘地不可用。
我將相同的正則運算式粘貼到 Firefox 中,得到了相同的結果。
我在尋找解決方案時發現的最接近的情況是有人說他們只有在 Angular 代碼中執行正則運算式時才會遇到這個問題。但在這種情況下,除了簡單的瀏覽器控制臺之外沒有其他背景關系。
uj5u.com熱心網友回復:
該groups屬性包含命名的捕獲組;它在您的示例中未定義,因為您沒有任何命名組。常規捕獲組是普通陣列元素,索引是捕獲組編號(索引 0 是整個匹配項)。
如果您想要每個捕獲組的位置,則必須添加d標志。位置將在indices屬性中,命名組的位置將在其groups屬性中。
match = /(\bthe\b).*(?<mygroup>\bto\b)/d.exec('This is the time to go');
console.log(match);
console.log(match.groups);
console.log(match.indices)
console.log(match.indices.groups);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/479784.html
標籤:javascript 正则表达式
