我有如下正则表达式:
var re = new RegExp('(?<!\r)\n', 'g');
在Chrome中可以正常运行,但是在Firefox中出现以下错误:SyntaxError:无效的正则表达式组
它也可以在node.js中使用
您可以使用try / catch表达式
try {
var re = new RegExp('(?<!\r)\n', 'g');
}
catch() {
var firefox = true;
//add alternate RegExp
}
您还可以检查其用户代理:
if (navigator.userAgent.indexOf("Chrome") !== -1) {
//Code that works on chrome
} else {
//code for firefox
}
这是因为chrome支持后向表达式,而firefox不支持。
来源:https://www.w3schools.com/和https://developer.mozilla.org/