正则表达式javascript结果与预期不同

正则表达式javascript结果与预期不同,javascript,regex,Javascript,Regex,我有这个正则表达式 var reg = new RegExp('["\\>]{1}\\$([^"\\<\\> ]*)["\\<]{1}', 'g'); var reg=new RegExp('[“\\>]{1}\\\$([^“\\]*)[“\\RegExp.prototype.exec()只要返回匹配的第一个匹配项,就必须在循环中调用它以获取所有匹配项 更简单的方法是使用String.prototype.match(),它返回所有匹配项的数组 如果还需要获取捕获组,则

我有这个正则表达式

 var reg = new RegExp('["\\>]{1}\\$([^"\\<\\> ]*)["\\<]{1}', 'g');

var reg=new RegExp('[“\\>]{1}\\\$([^“\\]*)[“\\
RegExp.prototype.exec()
只要返回匹配的第一个匹配项,就必须在循环中调用它以获取所有匹配项

更简单的方法是使用
String.prototype.match()
,它返回所有匹配项的数组

如果还需要获取捕获组,则只需使用
exec()

var reg=new RegExp('[“>]\\$[^”]*[“方法仅返回第一个事件,如果要返回所有事件,请使用


var reg=new RegExp('[>“]\\$([^“]*)[”您应该将HTML文本转换为DOM并对其进行解析

var div=document.createElement('div');
div.innerHTML='$name';
var结果=[];
结果.push(div.querySelector('span').innerText);
var src=Array.from(div.querySelectorAll('img')).map(img=>img.getAttribute('src'));
result=result.concat(src);

console.log(result);
避免在HTML文本中使用正则表达式。不要在HTML文本中使用正则表达式。仅供参考,您不需要转义
,而且您实际上永远不需要
{1}
@Barmar没有区别,只是一个首选项。。。
'<span>$name</span><img src="$images[0].src"><img src="$images[1].src"><img src="$images[2].src">'