php 正则 英文开头,php 正则表达式 匹配以“XXX”开头不能以“YYY”结尾

  • Post author:
  • Post category:php


本文章来给大家介绍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)   匹配