网络编程 
首页 > 网络编程 > 浏览文章

php 正则 不包含某字符串的正则表达式

(编辑:jimmy 日期: 2024/9/23 浏览:3 次 )

常见函数 strstr($str, “abc”);
正则匹配 preg_match(”/(abc)"codetitle">复制代码 代码如下:
<"dfadfadf765577abc55fd";
$pattern_url = "/^((";
if (preg_match($pattern_url, $str)){
echo "不含有abc!";
}else{
echo "含有abc!";
}
"abc");

2. 正则匹配

preg_match("/(abc)/is", $str);

但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了。
1. 如果不用正则如下就可以解决问题

!strstr($str, "abc");

2. 但是用正则呢,就只有这样了

preg_match("/^((", $str);

完整代码示例

复制代码 代码如下:
$str = "dfadfadf765577abc55fd";
$pattern_url = "/^((";
if (preg_match($pattern_url, $str))
{
echo "不含有abc!";
}
else
{
echo "含有abc!";
}

结果为:false,含有abc!

同时匹配,包含字符串 "abc",而且不包含字符串 "xyz"的正则表达式:

preg_match("/(abc)[^((", $str);

该方法有效,本人使用方法如下:

    (?:(?!<\/div>).|\n)*? //匹配不含</div>的一个字符串

但最终使用中结果是发现,该方法效率极其低下,在处理非常短文字(要匹配该正则式的相同部分的有十几个字,或者最多几十个)时间可以考虑使用,但当用于大篇幅文章解析或多处需要改种匹配时间应不使用,考虑用其他方法替代(如:先解析出要匹配该段正则式的文字,然后验证其中是否存在某段文字),正则表达式对于匹配不含特定字符串的文字段时并不是非常有效的方法.

上一篇:用正则表达式表示不包含2950的字符串
下一篇:常用正则表达式范例 方便表单验证
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap