它从MDN文档中声明
只有当g标志丢失时,matchAll才返回第一个匹配。
但是如果你运行这个代码:
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文档需要更新。
发布于 2022-08-27 20:57:13
regexp末尾的g标志是提示。
例如,如果\<\<[\w\.]*\>\>是我查找字符串(如<<hello>>、<<everybody>>、<<hello.world>> )的正则表达式,那么获取所有匹配的函数如下所示:
const matches = (input) => {
  const arr = [...input.matchAll(/\<\<[\w\.]*\>\>/g)]
  return arr
}很好用
(是的,结果数组的每一项中的重复输入看起来都太多了)。
https://stackoverflow.com/questions/60289995
复制相似问题