解析用户代理标头后,我需要确定我是否在处理IE-8或更早版本:
<= IE8
因此,在以下情况下,正则表达式应返回true:
(compatible; MSIE 8.0;...)
(compatible; MSIE 7.0;...)
etc.
以下应产生false:
(compatible; MSIE 9.0;...)
以下正则表达式不起作用:
"MSIE [6-8]\."
最佳答案
如果您转义了反斜杠,那么您的模式应该可以工作,或者您的意思是JavaScript? (在这种情况下,它应该可以工作)
"(?i)MSIE\\s+[5-8]\\.\\d+"
说明:
(?i)
使区分大小写不区分大小写MSIE
匹配字符串MSIE\\s+
一个或多个空格[5-8]
匹配5到8的数字\\.
匹配一个点\\d+
一个或多个数字