正则表达式在Chrome中有效,但在Firefox中出错

问题描述 投票:1回答:1

我有如下正则表达式:

var re = new RegExp('(?<!\r)\n', 'g');

在Chrome中可以正常运行,但是在Firefox中出现以下错误:SyntaxError:无效的正则表达式组

它也可以在node.js中使用

javascript google-chrome firefox
1个回答
0
投票

您可以使用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/

© www.soinside.com 2019 - 2024. All rights reserved.