欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

正则表达式-不包含某个字符串

shiping1 的头像

[正则表达式]如何判断字符串中不包含某些子字符串呢?
 

用正则表达式找出不包含连续字符串abc的单词
 

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




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

类别:PHP , 来自: 龙鸟, 时间:2008-03-12 16:45

摘要: 用正则实现包含某个字符串很容易,但如果实现不包含某个字符串呢?作者给出了一个解决方案。

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

1. 常见函数
  1. strstr($str"abc");  

2. 正则匹配
  1. preg_match("/(abc)/is"$str);  

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

2. 但是用正则呢,就只有这样了
  1. preg_match("/^((?!abc).)*$/is"$str);  

完整代码示例

  1. $str "dfadfadf765577abc55fd" 
  2. $pattern_url "/^((?!abc).)*$/is" 
  3. if (preg_match($pattern_url$str))  
  4.  
  5.     echo "不含有abc!" 
  6.  
  7. else  
  8.  
  9.     echo "含有abc!" 
  10.  

结果为:false,含有abc!

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

  1. preg_match("/(abc)[^((?!xyz).)*$]/is"$str);  
http://www.52web.com/52article/?view-121.html

来自 http://blog.sina.com.cn/s/blog_53df94780100crty.html
普通分类: