php – 如果没有预匹配
发布时间:2020-12-13 18:08:16 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 Regex: match everything but7个 是否有可能在仍然返回true的情况下对不应匹配的东西进行preg_match? 例如,目前我们有…… if (preg_match('#^Mozilla(.*)#',$agent)) { 我们想检查Mozilla字符串是否不在$agent中,但仍然有preg_match返回true.
参见英文答案 >
Regex: match everything but7个
是否有可能在仍然返回true的情况下对不应匹配的东西进行preg_match? 例如,目前我们有…… if (preg_match('#^Mozilla(.*)#',$agent)) { 我们想检查Mozilla字符串是否不在$agent中,但仍然有preg_match返回true. 所以我们不能把它改成…… if (!preg_match('#^Mozilla(.*)#',$agent)) { 谢谢
你想要的是一个
negative lookahead,语法是:
if (preg_match('#^(?!Mozilla).#',$agent)) { 实际上,你可以为#^(?!Mozilla)#而逃脱.我不知道PHP会如何看待一个只有零宽度令牌的模式,但是I’ve tested it in JavaScript and it works fine. 编辑: 如果你想确保Mozilla没有出现在字符串中的任何地方,你可以使用这个…… if (preg_match('#^((?!Mozilla).)*$#',$agent)) { ……但只有你不能用它! if (strpos($agent,'Mozilla') !== false) { (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |