当我想访问通过在RegExp上使用.exex()
函数找到的所有匹配项时,我将必须执行以下操作:
let match;
while ((match = regExp.exec(str)) !== null) {
// Do stuff...
}
这很丑陋,很难阅读,并且在完成后还会留下match
变量,因此,如果我想在另一个字符串或另一个正则表达式上再次做一次,则必须使用重新命名,或重用旧的match变量。
是否有可能创建某种迭代器,让我可以做类似的事情
for (const match of regExp.exec(str)) {}
不必使用先前显示的难看代码?我意识到也许不可能像这样精确地做到这一点,但是有什么办法可以做类似的事情吗?