Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Regex从用户代理头解析浏览器版本_Java_Regex_User Agent - Fatal编程技术网

Java 使用Regex从用户代理头解析浏览器版本

Java 使用Regex从用户代理头解析浏览器版本,java,regex,user-agent,Java,Regex,User Agent,解析用户代理标头我需要了解我是否正在处理IE-8或更早版本: <= IE8 以下结果应为假: (compatible; MSIE 9.0;...) 以下正则表达式不起作用: "MSIE [6-8]\." 您可以使用字符组来匹配版本,f.i.[678]\.0您可以使用字符组来匹配版本,f.i.[678]\.0如果您转义反斜杠,或者您是指JavaScript,您的模式应该可以工作?。(在这种情况下,它应该工作) 说明: (?i)使匹配不区分大小写 MSIE与字符串MSIE匹配 \\s+

解析用户代理标头我需要了解我是否正在处理IE-8或更早版本:

<= IE8
以下结果应为假:

(compatible; MSIE 9.0;...)
以下正则表达式不起作用:

"MSIE [6-8]\."

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

您可以使用字符组来匹配版本,f.i.
[678]\.0
如果您转义反斜杠,或者您是指JavaScript,您的模式应该可以工作?。(在这种情况下,它应该工作)

说明:

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

    • 如果您避开反斜杠,或者您是指JavaScript,那么您的模式应该可以工作?。(在这种情况下,它应该工作)

      说明:

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

      如果我使用java.regex(带Scala):val ieMatcher=“”(?I)MSIE\\s+[5-8]\\\.\\d+”。r.pattern def isIE(str:String)=ieMatcher.matcher(str).matches()如果我使用java.regex(带Scala):val ieMatcher=“”(?I)MSIE\\s+[5-8]\.\\d+”。r.pattern def isIE(str:String)=ieMatcher.matcher.matcher(str.str).matcher.matcher.matcher.matcher.matcher(str).matcher.matcher.matcher.matche这对我有用:(?i)。*MSIE[5-8]\..*“这对我有用:(?i)。*MSIE[5-8]\..*”
      "MSIE [6-8]\."
      
      "(?i)MSIE\\s+[5-8]\\.\\d+"