php正则怎么不包含某字符串-创新互联

这篇文章将为大家详细讲解有关php正则怎么不包含某字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册虚拟主机、营销软件、网站建设、金山网站维护、网站推广。

php正则不包含某字符串的方法:首先创建一个PHP示例文件;然后通过正则表达式“ preg_match(”/[^(abc)]/s”, $str, $arr);”实现判断不包含某字符串即可。

常见函数 strstr($str, “abc”);
正则匹配 preg_match(”/(abc)?/is”, $str);
但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了
如果不用正则 !strstr($str, “abc”); 就可以解决问题了
但是用正则呢,就只有这样了,”/^((?!abc).)*$/is”


//------------------------------------------------ 
代码如下:
 <?php 
  $str = "dfadfadf765577abc55fd"; 
  $pattern_url = "/^((?!abc).)*$/is"; 
  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("/^((?!abc).)*$/is", $str);

完整代码示例

代码如下:

$str = "dfadfadf765577abc55fd"; 
 $pattern_url = "/^((?!abc).)*$/is"; 
 if (preg_match($pattern_url, $str)) 
 { 
 echo "不含有abc!"; 
 } 
 else 
 { 
 echo "含有abc!"; 
 }

结果为:false,含有abc!

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

preg_match("/(abc)[^((?!xyz).)*$]/is", $str);

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

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

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

关于php正则怎么不包含某字符串就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

文章标题:php正则怎么不包含某字符串-创新互联
标题路径:https://www.cdcxhl.com/article40/csgiho.html

成都网站建设公司_创新互联,为您提供服务器托管小程序开发App开发网站维护外贸建站网站内链

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

搜索引擎优化