Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS Regex lookbehind在firefox和safari中不起作用_Javascript_Regex_Firefox_Regex Lookarounds - Fatal编程技术网

Javascript JS Regex lookbehind在firefox和safari中不起作用

Javascript JS Regex lookbehind在firefox和safari中不起作用,javascript,regex,firefox,regex-lookarounds,Javascript,Regex,Firefox,Regex Lookarounds,我有下面这个正则表达式,它在chrome中工作,但在firefox或safari中导致错误。我需要修改它使它工作。谁能帮助一个可怜的人?提前谢谢 正则表达式:/(?=)(.*)(.*)(firefox和safari还不支持lookbehind,您可以使用capture group(使用它的目的是在输出中添加我们正在拆分的模式)并在 let str=“敏捷的棕色狐狸跳过懒惰的狗” 设正则表达式=/(*)/ console.log(str.split(regex).filter(Boolean))

我有下面这个正则表达式,它在chrome中工作,但在firefox或safari中导致错误。我需要修改它使它工作。谁能帮助一个可怜的人?提前谢谢


正则表达式:
/(?=)(.*)(.*)(firefox和safari还不支持lookbehind,您可以使用capture group(使用它的目的是在输出中添加我们正在拆分的模式)并在

let str=“敏捷的棕色狐狸跳过懒惰的狗”
设正则表达式=/(*)/
console.log(str.split(regex).filter(Boolean))

<tag>.*?<\/tag>|[^<>]+
*?|[^]+
这样行吗

试验
函数正则表达式(regex,str){
设m,arr=[];
while((m=regex.exec(str))!==null){
//这是避免具有零宽度匹配的无限循环所必需的
if(m.index==regex.lastIndex){
regex.lastIndex++;
}
m、 forEach((匹配,组索引)=>{
arr.push(匹配修剪());
log(`Found match,group${groupIndex}:${match}`);
});
}
返回arr;
}
常量表达式=/.*?[^]+/g;
const string='敏捷的棕色狐狸跳过懒狗';

log(正则表达式(表达式,字符串))
它可以工作。我很感谢您的回复。我意识到我过度设计了我的初始正则表达式。在这种情况下,Cheers不需要使用
g
修饰符,因为这是
拆分的默认行为。我尝试了这个方法,它可以工作,但我觉得第一个答案更简单,并且满足了实现要求。感谢提供Visualization ATI在…上