首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >现在缺少g标志时,matchAll会抛出错误?

现在缺少g标志时,matchAll会抛出错误?
EN

Stack Overflow用户
提问于 2020-02-18 21:56:08
回答 2查看 19.9K关注 0票数 17

它从MDN文档中声明

只有当g标志丢失时,matchAll才返回第一个匹配。

但是如果你运行这个代码:

代码语言:javascript
运行
复制
const regexp = RegExp('[a-c]', '');
const str = 'abc';
console.log(Array.from(str.matchAll(regexp), m => m[0]));
// Array [ "a" ]

在最近版本的chrome中,您会得到以下错误:

错误:使用非全局RegExp参数调用的未定义

我用的是铬版80.0.3987.116

我不确定这是铬问题还是MDN文档需要更新。

对象/字符串/匹配所有

EN

Stack Overflow用户

发布于 2022-08-27 20:57:13

regexp末尾的g标志是提示。

例如,如果\<\<[\w\.]*\>\>是我查找字符串(如<<hello>><<everybody>><<hello.world>> )的正则表达式,那么获取所有匹配的函数如下所示:

代码语言:javascript
运行
复制
const matches = (input) => {
  const arr = [...input.matchAll(/\<\<[\w\.]*\>\>/g)]
  return arr
}

很好用

(是的,结果数组的每一项中的重复输入看起来都太多了)。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60289995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档