在我的Javascript ios应用程序中,我使用下面的正则表达式来检测工作正常的ios/mac设备。
var regex = \\biP\\w+; CPU(?: iP\\w+)? OS (?:1[2-9][_\\d]+|11_(?:\\d\\d+|[3-9])(?:_\\d+)?) like Mac OS X\\b;
if(navigator.userAgent.match(regex)) {
// do something
}
现在,我想排除IOS中的铬。因此,我试图在正则表达式下面否定“CriOS”(IOS上的铬)这个词,但它不起作用。请让我知道我在这里错过了什么。提前谢谢
"\\biP\\w+; CPU(?: iP\\w+)? OS (?:1[2-9][_\\d]+|11_(?:\\d\\d+|[3-9])(?:_\\d+)?) like Mac OS X\\b(?:(?!CriOS).)*$"
UserAgent on Iphone
"Mozilla/5.0 (iPhone; CPU iPhone OS 10\_3 like Mac OS X) AppleWebKit/603.1.23 (KHTML, like Gecko) Version/10.0 Mobile/14E5239e Safari/602.1"
在Iphone 上的使用代理
"Mozilla/5.0 (iPhone; CPU iPhone OS 10\_3 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/56.0.2924.75 Mobile/14E5239e Safari/602.1"
发布于 2019-02-26 02:41:28
尝试在代码(?!.*CriOS)
的开头添加否定。
示例:
(?!.*CriOS)\\biP\\w+; CPU(?: iP\\w+)? OS (?:1[2-9][_\\d]+|11_(?:\\d\\d+|[3-9])(?:_\\d+)?) like Mac OS X\\b
https://stackoverflow.com/questions/54877402
复制相似问题