php不包含某字符串的正则表达式
摘要: 用正则实现包含某个字符串很容易,但如果实现不包含某个字符串呢?作者给出了一个解决方案。
判断一个字符串中是否含有另一字符串,php有很多方法,如下:
1. 常见函数
strstr($str, "abc");
strstr($str, "abc");
2. 正则匹配
preg_match("/(abc)/is", $str);
preg_match("/(abc)/is", $str);
但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了。
1. 如果不用正则如下就可以解决问题
!strstr($str, "abc");
!strstr($str, "abc");
2. 但是用正则呢,就只有这样了
preg_match("/^((?!abc).)*$/is", $str);
preg_match("/^((?!abc).)*$/is", $str);
完整代码示例
$str = "dfadfadf765577abc55fd";
$pattern_url = "/^((?!abc).)*$/is";
if (preg_match($pattern_url, $str))
{
echo "不含有abc!";
}
else
{
echo "含有abc!";
}
$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);
相关文档:
Linux安装Mysql+Apach+PHP+phpMyAdmin
我的系统是redhat as5 建议大家完全安装,以免安装时缺少相关的编译器等等。
一、安装mysql(mysql-5.0.21.tar.gz)
# tar zxf mysql-5.0.21.tar.gz
# cd mysql-5.0.21
#./configure --prefix=/usr/local/mysql --sysconfdir=/etc --lo ......
执行以下语句:
var_dump(2147483647); // int
var_dump(
2147483648); // float
可以看到,php int型的最大值就是
2147483647,即231
-1,因为32位的最高位要用来表示正负。
再执行以下语句:
$u = sprintf("%u",
2147483648); # 更换为%b,%d试试
var_dump($u);
......
继承特性简化了对象,类的创建,增加了代码的重用性。但是PHP之支持单继承。如果想实现多继承的话就要用到PHP的借口。PHP可是实现多个接口。
不要用public以外的关键字来修饰接口中的类成员。对于方法,不写关键字也可以。这是一个借口类自身的天性决定的。那么我想他是为什么呢?
对于接口来说,它不能用protected,和pr ......
互联网的今天,AJAX已经不是什么陌生的词汇了。说起AJAX,可能会立即想起因RSS而兴起的XML。XML的解析,恐怕已经不是什么难题了,特别是PHP5,大量的XML解析器的涌现,如最轻量级的SimpleXML。不过对于AJAX来说,XML的解析更倾向于前台Javascript的支持度。我想所有解析过XML的人,都会因树和节点而头大。不可否认,X ......