手机
当前位置:查字典教程网 >编程开发 >正则表达式 >php 正则 不包含某字符串的正则表达式
php 正则 不包含某字符串的正则表达式
摘要:常见函数strstr($str,“abc”);正则匹配preg_match(”/(abc)?/is”,$str);但是要匹配一个字符...

常见函数 strstr($str, “abc”);

正则匹配 preg_match(”/(abc)?/is”, $str);

但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了

如果不用正则 !strstr($str, “abc”); 就可以解决问题了

但是用正则呢,就只有这样了,”/^((?!abc).)*$/is”

//------------------------------------------------

复制代码 代码如下:

<?php

$str = "dfadfadf765577abc55fd";

$pattern_url = "/^((";

if (preg_match($pattern_url, $str)){

echo "不含有abc!";

}else{

echo "含有abc!";

}

?>

//------------------------------------------------

结果为:false,含有abc!

$str = “2b3c4d5c”;

注意:[^(abc)] 这个语法是逐个检查$str中的字符是否不在 a b c中,

preg_match(”/[^(abc)]/s”, $str, $arr);

其中字符 2 就不在 a b c 中,所以$arr返回值为2;

同时匹配,包含字符串 “abc”,而且不包含字符串 “xyz”

“/(abc)[^((?!xyz).)*$]/s”

以下是补充:

判断一个字符串中是否含有另一字符串,有很多方法,如下:

1. 常见函数

strstr($str, "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>的一个字符串

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

【php 正则 不包含某字符串的正则表达式】相关文章:

js:日期正则表达式及检测

PHP 正则表达式分析RSS

正则表达式的应用

常用正则表达式语法例句

正则表达式验证

asp常用的正则表达式实现字符串的替换

正则匹配后面非指定字符的正则 原创

一个验证用户名的正则表达式

asp下替换非数字为空的正则

常用的匹配正则表达式和实例

精品推荐
分类导航