一个正则表达式 匹配以“abc”开头后头不能包括

一个正则表达式 匹配以“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.htm 】 3.92KB

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

分享到: 更多

相关日志:

求正则表达式。匹配小数可有可无,最多两位小数,必须大于零

正则用(?>…)实现固化分组提高效率

php正则匹配图片路径

RegexBuddy 3 正则的翻译

编程语言中十六进制的正则匹配

[转] 揭开正则表达式的神秘面纱

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7893.html