百度空间 | 百度首页 
 
查看文章
 
php 正则 不包含某字符串的正则表达式
2007-08-24 10:36

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

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

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

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

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

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

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

  1. <?php  
  2.     $str = "dfadfadf765577abc55fd";
  3.     $pattern_url = "/^((?!abc).)*$/is";
  4.     if (preg_match($pattern_url, $str)){  
  5.         echo "不含有abc!";
  6.     }else{  
  7.         echo "含有abc!";
  8.     }  
  9. ?>

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

结果为: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”


类别:开发.程序.笔记 | | 添加到搜藏 | 分享到i贴吧 | 浏览() | 评论 (1)
 
最近读者:
 
网友评论:
1
2007-09-24 11:12 | 回复
高手啊
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2010 Baidu