js正则匹配含有$符号的字符?

如题:比如字符串是"www $a $b $c kkk",匹配后的结果变成[a,b,c]

目前含有缺陷代码(不能正确匹配"$a $b $c"),原因:是matchReg匹配以空格结尾,导致会漏掉最后一个$c

var strMatch = "www $a $b $c kkk";
var matchReg = /\$.*?\s/gi;  // 匹配$开头空格(\s)结尾的字符
var newArray = strMatch.match(matchReg).map((item)=>{return item.replace(/\$|\s/gi,'')}); //替换$和空格

请问下该如何修改?

阅读 4.9k
2 个回答

var matchReg = /\$.*?(\s|$)/gi;

str.match(/\$(\S+)\s/g);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题