我正在尝试用Java编写一个正则表达式模式来检测用户代理是否小于或等于Internet Explorer 9.这里有很多例子:
http://www.useragentstring.com/pages/Internet%20Explorer/
主要要点是用户代理字符串中将有一个字符串,名为:" MSIE XXXX)。我目前的正则表达式是:
MSIE ([1-9]|9)
除了在MSIE 10.0或MSIE 11.0匹配时出现问题,这似乎有效。关于如何只匹配1-9而不是10.0或11的任何想法?
答案 0 :(得分:2)
在旧版本中,主版本号后总是有一个点,您可以在正则表达式中使用它:
MSIE [1-9]\.
编写它的另一种方法是期望一个介于1和9之间的数字,后跟一个非数字char:
MSIE [1-9][^0-9]
答案 1 :(得分:1)
仅匹配5-9而不是1-9。使用IE 4及以下版本的人几乎有0人。