为RegExp.exec()匹配创建迭代器

时间:2019-06-09 00:50:59

标签: javascript iterator

当我想访问通过在RegExp上使用.exex()函数找到的所有匹配项时,我将必须执行以下操作:

let match;
while ((match = regExp.exec(str)) !== null) {
    // Do stuff...
}

这很丑陋,很难阅读,并且在完成后还会留下match变量,因此,如果我想在另一个字符串或另一个正则表达式上再次做一次,则必须使用重新命名,或重用旧的match变量。

是否有可能创建某种迭代器,让我可以做类似的事情

for (const match of regExp.exec(str)) {}

不必使用先前显示的难看代码?我意识到也许不可能像这样精确地做到这一点,但是有什么办法可以做类似的事情吗?

0 个答案:

没有答案