如果我有像这样的iOS用户代理
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML,like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7
要么
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML,like Gecko) Mobile/7D11
我如何使用正则表达式检测iOS版本,以便它返回例如
4.0
对于上述用户代理?
为我工作的RegEx是:
/OS ((\d+_?){2,3})\s/
iPad 5.1.1有一个HTTP_USER_AGENT,如下所示:
"Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML,like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3"
所以iOS版本中有3个数字而不是iPhone OS.
可能的Ruby实现可能是:
def version_from_user_agent(user_agent) version = user_agent.match(/OS ((\d+_?){2,3})\s/) version = version[1].gsub("_",".") if version && version[1] end
如果没有找到iOS版本,它返回nil
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。