当前位置:  开发笔记 > 编程语言 > 正文

PHP正则表达式与浏览器代理字符串一起使用

如何解决《PHP正则表达式与浏览器代理字符串一起使用》经验,为你挑选了1个好方法。

我需要帮助再次使用我正在尝试做的一些正则表达式(仍在重复学习中).

我再次尝试通过解析用户代理来学习.现在尝试做Firefox ...

考虑这些UAs:

 - Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.0.15) Gecko/2009101601 Firefox 2.1 (.NET CLR 3.5.30729)
 - Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.20) Gecko/20081217 Firefox(2.0.0.20)
 - Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.1b3;MEGAUPLOAD 1.0 (.NET CLR 3.5.30729)
 - Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a3pre) Gecko/20100306 Firefox3.6 (.NET CLR 3.5.30729)
 - Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.19) Gecko/20081202 Firefox (Debian-2.0.0.19-0etch1)
 - Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6 (.NET CLR 3.5.30729)
 - Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.13) Gecko/20080313 Firefox

我正在尝试使用正常表达式将Firefox版本从UA中提取出来.

以下是我想要的规则:

    版本总是在"firefox"字符串之后("Firefox"可以是任何字符情况).

    版本字符串可以在"/"或空格之后或"("或甚至没有任何内容)时开始.

    版本字符串以空格或字符串结尾或通过右括号或分号结束.

    在极少数情况下,不提供该版本(参见上一个UA).正则表达式必须匹配,但返回一个空字符串作为版本(如果可能).

我想是的.如果有人可以帮助它会很棒!



1> casablanca..:

这样的事情应该有效:

/Firefox[ \(\/]*([a-z0-9\.\-]+)/i


对于#4,将+转换为*,如下所示:`/ Firefox [\(\ /]*([a-z0-9 \.\ - ]*)/ i`
推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有