本文章来给大家介绍php 正则表达式 匹配以“XXX”开头不能以“YYY”结尾,下面的实例我们以abc开头与
首先来是abc开头, 没有想的就是 ^abc 以abc开头了,不能以“xyz”结尾
后面要有一串的字符串
一般我用[^…………]这样来否定,当然也别的写法
既然是否定“x”、“y”、“z”
就是[^xyz]
整个写来就是
^abc[^xyz]*$
PHP测试:
代码如下
复制代码
$str = ‘abcdef124f’;
$search = ‘/^abc[^xyz]*$/’;
if(preg_match($search,$str)) {
echo $str.’ 符合
‘;
}else {
echo $str.’ 不符合
‘;
}
//output abcdef124f 符合
$str = ‘abcdef12x124’;
if(preg_match($search,$str)) {
echo $str.’ 符合
‘;
}else {
echo $str.’ 不符合
‘;
}
//output abcdef12x124 不符合
?>
本文章来给大家详细介绍php正则匹配href中url地址详解,有需要了解的朋友可进入参考。
正则匹配href中url
代码如下
复制代码
hrefs*=s*(?:”(?<1>[^”]*)”|(?<1>\S+))
取href的链接的
href是正常的href字符
s表示一个空格,*表示1个或者多个匹配,当前的意思是一个或者多个空格
=是正常的字符
?<1>在这里应该是命名捕获组,我不知道你这个正则是哪个流派的,但应该不是js和c#的,呵
\S+,\前面一个表示转义,这个的意思是后面带一个S,而S可以是多个,同样,”也是转义,因为”和都是正则的元字符
[^”],在方括号中的^,如果我没记错的话,应该是不包含的意思吧,就是不不含”
差不多了吧,不一定全部正确,你应该去了解一下正则的元正符再来看
*是指0或者多个 href= 和 href =都匹配
(?exp) 匹配