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个字符
