正则表达式在在线测试中匹配,但在javascript执行中不匹配?

正则表达式在在线测试中匹配,但在javascript执行中不匹配?,javascript,regex,Javascript,Regex,我的正则表达式应该查找并删除以foo-开头的所有单词。正则表达式在在线正则表达式中工作,但在我的javascript中失败 出什么事了 $('[class*=“foo-”])。每个(函数(索引,ele){ ele.className=ele.className.replace(/(foo-.*(|\0))/g'; console.log(ele.className); }); $('[class*=“foo-”])。每个(函数(索引,ele){ ele.className=ele.clas

我的正则表达式应该查找并删除以
foo-
开头的所有单词。正则表达式在在线正则表达式中工作,但在我的javascript中失败

出什么事了

$('[class*=“foo-”])。每个(函数(索引,ele){
ele.className=ele.className.replace(/(foo-.*(|\0))/g';
console.log(ele.className);
});

$('[class*=“foo-”])。每个(函数(索引,ele){
ele.className=ele.className.replace(/(foo-.*(|\0)?)/g';
console.log(ele.className);
});

示例中的正则表达式不适用于替换。尝试使用以下命令-
/(foo-[^”]+?)/g
(\bfoo-.*(?=|$)
有效。您需要确保它只删除以foo开头的单词,而不删除任何其他单词。前瞻功能对此有帮助

$('[class*=“foo-”])。每个(函数(索引,ele){
ele.className=ele.className.replace(/(\bfoo-.*?(?=|$)/g',);
console.log(ele.className);
});