解析用户代理标头后,我需要确定我是否在处理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+一个或多个数字

07-24 09:21