我需要从字符串中提取数据。下面是一个例子:
Mozilla / 5.0(Macintosh; U; PPC Mac OS X; tr-tr)AppleWebKit / 418(KHTML,喜欢 Gecko)Safari / 417.9.3
我希望得到“Safari /”之后的内容(417.9.3)但是:
任何人都可以帮我解决这个问题吗?
谢谢!
答案 0 :(得分:4)
preg_match("#Safari(\s+|/\s*)([^)(;]+)#i", $_SERVER['HTTP_USER_AGENT'], $results);
最后的i
表示“不区分大小写”,它回答了标准一。
(\s+|\s*/\s*)?
匹配至少一个空白字符或斜杠,后面跟着任意数量的空白字符(从零到无穷大及以上),它们符合条件二。
[^)(;]+
将匹配尽可能多的 not 字符集中的字符,该字符符合条件三。
答案 1 :(得分:0)
这与您之前要求的Firefox正则表达式类似吗?
/Safari[ \/]+([0-9\.]+)/i