【发布时间】:2018-04-27 06:17:03
【问题描述】:
我正在使用 preg match 检查浏览器代理和版本。但是当我将我的 php 版本 5.3 更新到 5.4 时发现错误
preg_match( '/Mozilla/([0-9].[0-9]{1,2})/',$HTTP_USER_AGENT,$log_version)
知道如何解决这个问题吗?
【问题讨论】:
-
转义反斜杠,因为它是一个特殊的正则表达式运算符
'/Mozilla\/([0-9].[0-9]{1,2})/' -
我在 preg_match('/Netscape([0-9])/([0-9].[0-9]{1,2})/',$HTTP_USER_AGENT, $log_version1)。所以我需要在第二个 / 之前添加 \ 像这样 preg_match('/Netscape([0-9])\/([0-9].[0-9]{1,2})/',$HTTP_USER_AGENT, $log_version1)
-
阅读regular expression pattern delimiters。您的
regex在模式中间包含一个分隔符。 -
@AgniusVasiliauskas 在问题中发布的
regex中没有反斜杠 (\)。