我想将 Android 设备的名称(例如“Galaxy Nexus”)与 JavaScript RegEx 模式相匹配。
我的用户代理如下所示:
"Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"
如果我采取“;”之间的所有内容和“Build/”然后我得到设备名称。但它必须是最后一次出现的“;”在“构建/”之前。
此刻我有以下表达:
var match = navigator.userAgent.match(/;[\s\S]*Build/)[0];
问题是,我的表达式采用第一个分号和 INCLUDES“Build/”之间的所有内容。所以我得到:
"; U; Android 4.0.2; en-us; Galaxy Nexus Build"
有谁知道如何让我的表达更智能以获得“Galaxy Nexus Build”?
最佳答案
您可以测试:
var txt = "Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30";
var regex = /;\s*([^;]+)\s+Build\//g;
var match = regex.exec(txt)[1];
alert("#" + match + "#");
关于javascript - RegEx:将 Android 设备名称与 JavaScript 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17659845/