一个正则表达式 匹配以“abc”开头后面不能包含“x”、“y”、“z”字符

作者:enenba | 发表于:2012-04-12 01:06 | 分类:正则表达式

一个正则表达式 匹配以“abc”开头后面不能包含“x”、“y”、“z”的字符串

解决:

首先来是abc开头, 没有想的就是 ^abc

 

以abc开头了,后面要有一串的字符串

一般我用[^…………]这样来否定,当然也别的写法

 

既然是否定“x”、“y”、“z”

就是[^xyz]

 

 整个写来就是

^abc[^xyz]*$

 

 

 上PHP测试:

 

<?php
$str = 'abcdef124f';
$search = '/^abc[^xyz]*$/';

if(preg_match($search,$str)) {
	echo $str.' 符合<br />';
}else {
	echo $str.' 不符合<br />';
}
//output abcdef124f 符合


$str = 'abcdef12x124';
if(preg_match($search,$str)) {
	echo $str.' 符合<br />';
}else {
	echo $str.' 不符合<br />';
}
//output abcdef12x124 不符合

?>

 

 

end

附件下载/演示源码:
noxyz.htm3.92KB

上一篇: PHP正则匹配6到16位字符组成,只可有数字、字母、下划线   |   下一篇:正则表达式href\s*=\s*(?:\"(?<1>[^\"]*)\"|(?<1>\\S+))什么意思» 标签: 正则 正则匹配 PHP正则

评论: