Javascript .match()在使用/ gi标志时不起作用

在stringhtml上使用.match函数时,以下代码返回一个包含匹配项的数组。

  html = '<span><b>123</b>C / <b>456</b>K</span>' var matches = html.match('<span><b>(.*?)</b>C / <b>(.*?)</b>K</span>') console.log(matches) 

但是,在添加/g标志后,正则expression式不再返回任何内容,而是返回null 。 是否正确使用如下所示?

  html = '<span><b>123</b>C / <b>456</b>K</span>' var matches = html.match('/<span><b>(.*?)</b>C / <b>(.*?)</b>K</span>/g') console.log(matches) 

从正则expression式中删除引号:

 var matches = html.match(/<span><b>(.*?)<\/b>C \/ <b>(.*?)<\/b>K<\/span>/i); 

当使用'/<span><b>(.*?)</b>C / <b>(.*?)</b>K</span>/gi'则使用引号中的文字string进行匹配。

你也需要逃避/并删除g返回所有的比赛。

它会返回:

 ["<span><b>123</b>C / <b>456</b>K</span>", "123", "456"]