2020年4月6日
<?php
<?php
$str="555ninikiki555";
$start= strpos($str,'555');
$start +=3;
$end=strrpos($str,'555');
$end -=$start;
$res =substr($str,$start,$end);
var_dump($res);
echo"<hr>";
//正则表达式函数
$preg ="/^555(.*?)555$/";
if(preg_match($preg,$str,$arr)){
echo "匹配成功";
var_dump($arr);
}else{
echo "匹配失败";
}
echo"<hr>";
$preg ="/^[A-Z a-z 0-9s]\w(5,17)@(?:[0-9 A-Z a-z]{0,26}\.)+(?:[a-z A-Z]{2,6})/";
$str2 ="
123456722@qq.com
";
if(preg_match($preg,$str2,$arr)){
echo"匹配成功";
echo"<pre>";
var_dump($arr);
echo"</pre>";
}else{
echo"匹配失败";
}
php2
<?php
$str="555ninikiki555";
$start= strpos($str,'555');
$start +=3;
$end=strrpos($str,'555');
$end -=$start;
$res =substr($str,$start,$end);
var_dump($res);
echo"<hr>";
//正则表达式函数
$preg ="/^555(.*?)555$/";
if(preg_match($preg,$str,$arr)){
echo "匹配成功";
var_dump($arr);
}else{
echo "匹配失败";
}
echo"<hr>";
$preg ="/^[A-Z a-z 0-9s]\w(5,17)@(?:[0-9 A-Z a-z]{0,26}\.)+(?:[a-z A-Z]{2,6})/";
$str2 ="
123456722@qq.com
";
if(preg_match($preg,$str2,$arr)){
echo"匹配成功";
echo"<pre>";
var_dump($arr);
echo"</pre>";
}else{
echo"匹配失败";
}
php3
<?php
$str="555ninikiki555";
$start= strpos($str,'555');
$start +=3;
$end=strrpos($str,'555');
$end -=$start;
$res =substr($str,$start,$end);
var_dump($res);
echo"<hr>";
//正则表达式函数
$preg ="/^555(.*?)555$/";
if(preg_match($preg,$str,$arr)){
echo "匹配成功";
var_dump($arr);
}else{
echo "匹配失败";
}
echo"<hr>";
$preg ="/^[A-Z a-z 0-9s]\w(5,17)@(?:[0-9 A-Z a-z]{0,26}\.)+(?:[a-z A-Z]{2,6})/";
$str2 ="
123456722@qq.com
";
if(preg_match($preg,$str2,$arr)){
echo"匹配成功";
echo"<pre>";
var_dump($arr);
echo"</pre>";
}else{
echo"匹配失败";
}
笔记:
正则表达式函数
preg_match();
preg_match();
preg_preg();
preg_split();
preg_replace();
分割 匹配 查找 替换
字符串处理函数(速度快,但有一些功能做不到)
正则表达式函数(功能强大,但效率要低于字符串)
注意:
如果使用字符串处理函数可以直接解决,就不要使用正则表达式;
匹配查找
字符串处理函数
strpos substr
正则表达式函数
preg_match() 匹配一个结果
preg_match_all() 匹配所有结果
邮箱正则:
邮箱名规则6-18字符,可使用字母 数字 下划线
邮箱后缀:用域名组成;只要知道域名的规则
域名规则:
域名可以由(a-zA-Z大小写等价)26个英文字母,数字(0-9)以及连接符“-”组成,
但是域名的首位必须是字母或数字,国际通用顶级域名长度不得超过26个字符