使用Regex从User-Agent-Header解析浏览器版本

时间:2012-02-15 23:02:53

标签: java regex user-agent

解析用户代理头我需要知道我是在处理IE-8还是更早:

<= IE8

因此,在以下情况下正则表达式应该返回true:

(compatible; MSIE 8.0;...)
(compatible; MSIE 7.0;...)
etc. 

以下内容应该产生错误:

(compatible; MSIE 9.0;...)

以下正则表达式不起作用:

"MSIE [6-8]\."

2 个答案:

答案 0 :(得分:4)

如果你逃避反斜杠你的模式应该有用,或者你的意思是JavaScript? (在这种情况下它应该工作)

"(?i)MSIE\\s+[5-8]\\.\\d+"

说明:

  • (?i)使匹配大小写不敏感
  • MSIE匹配字符串MSIE
  • \\s+一个或多个空格
  • [5-8]匹配数字5到8
  • \\.匹配点
  • \\d+一个或多个数字

答案 1 :(得分:0)

您可以使用字符组来匹配版本,f.i。 [678]\.0