码迷,mamicode.com
首页 > Web开发 > 详细

php中的正则表达式

时间:2019-11-16 17:56:01      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:格式   love you   replace   中文检测   去除空格   str   出现   simple   匹配   

/preg_macth(正则, 待匹配字符串返回 0 次(不匹配),返回 1 次表示匹配)
//preg_macth_all(正则, 待匹配字符串返回完整匹配次数(可能是0),或者如果发生错误返回FALSE
//preg_repalce(正则,替换字符,待匹配字符)
//邮政编码的检测
$str = ‘123456‘;
$preg = ‘/\d{6}/‘; //数字出现6次
print_r(preg_match($preg,$str)); //返回 1
echo ‘<br>‘;

// 判断数字是否出现两次
$str = ‘林深时见鹿111‘;
$preg = ‘/[0-9]{2}/‘;
print_r(preg_match($preg,$str)); //返回 1
echo ‘<br>‘;

$str = ‘林深时见鹿111‘;
$preg = ‘/[0-9]{3}/‘; //3
print_r(preg_match($preg,$str)); //返回1
echo ‘<br>‘;

//匹配文件的格式
$str= ‘calss.js‘;
//.在正则表示匹配任意字符,此时只想让她匹配 字符.,是/所以使用/转义 /.就代表. 没有别的意思
// | 是或的意思
$preg =‘/\.(php|js|txt)/‘ ;
print_r(preg_match($preg,$str)); //返回1
echo ‘<br>‘;
echo ‘<br>‘;

//去除空格
$str = ‘ I real love so much ‘;
// $preg = ‘/\s+/‘;
// $preg = ‘/^\s+/‘;
$preg = ‘/^\s+$/‘;
print_r(preg_replace($preg,‘ ‘,$str));
echo ‘<br>‘;
var_dump(preg_replace($preg,‘ ‘,$str));
echo "<br>";
var_dump(trim($str));
echo ‘<br>‘;

//qq邮箱
// 23322@qq.com
// fengchengcheng@163.com
// 18336629256@163.com
// chengfeng@1000phone.com
// root@gmail.com
$str = ‘simple827@qq.com‘;
$preg = ‘/^[a-z\d]{3,15}@[a-z0-9]{2,9}\.[a-z]{2,3}$/‘;
print_r(preg_match($preg,$str));
echo ‘<br>‘;

//定位符
// ^ 限定行首数据 限定必须以什么开头
// $ 限定行尾数据 限定必须以什么结尾
$str = ‘123qwe11‘;
$preg = ‘/^\d/‘; //必须以数字开头
print_r(preg_match($preg,$str));
echo ‘<br>‘;


$str = ‘123qwe11‘;
$preg = ‘/\d$/‘; //必须以数字结尾
print_r(preg_match($preg,$str));
echo ‘<br>‘;

//检测图片是否为png或jpg后缀
$str = ‘a.jpg‘;
$preg = ‘/^.+\.jpg$|^.+\.png$/‘; //异曲同工之处 .......不怎么清楚
//$preg = ‘/^.+\.(jpg|png)$/‘;
print_r(preg_match($preg,$str));
echo ‘<br>‘;

//手机号检测
//1开头, 35789接一位 ,后接9位
$str = ‘15979590267‘;
// $preg = ‘/^1[35789]{1}\d{9}/‘;
print_r(preg_match($preg, $str));
echo ‘<br>‘;

//中文检测
//常用字符都存在一个编码的规则,对于中文的编码一般都是使用utf-8编码,并且php天生使用的就是utf-8对待字符串。并且utf-8的编码是存在一个范围的[\x{4e00}-\x{9fa5}]
echo ‘这是中文检测‘;
echo ‘<br>‘;
$str = ‘ab你有点漂亮cd‘;
$preg = ‘/[\x{4e00}-\x{9fa5}]/u‘;
print_r(preg_match($preg,$str));
echo ‘<br>‘;
echo ‘jiwwei ‘;

echo‘<br>‘;


//用户名检测
//账号由2~12个数字、字母下划线组成,首字母不能是数字
// $preg = ‘/\w{2,12}[a-zA-Z]/‘; //以数字、字母下划线开头,以字母结尾
// $preg = ‘/[a-zA-Z_]{2,12}/‘;//以字母,下划线组成
// $preg = ‘/^[a-zA-Z_]{2,12}_$/‘;//必须以字母下划线开头的 以下划线结尾



//字符串过滤
echo ‘test‘;
echo‘<br>‘;
$str = ‘ i real love you ‘;
$preg = ‘/^\s.+\s$/‘;
print_r(preg_match($preg,$str));
echo ‘<br> ‘;
//手机号码的替换

$str =‘15979590267444422333‘;
$preg = ‘/^(\d{3})\d{4}(\d{4})(\d{4})\d{2}(\d{3})$/‘;
// print_r(preg_repalce($preg,‘\1****\2‘,$str));
//print_r(preg_match($reg,$str));
//()扩号 表示匹配值,
// \1 表示引用第一次匹配成功的结果
// \2 表示引用第二次匹配成功的结果
echo preg_replace($preg,‘\1****\2\3!!\4‘,$str);

php中的正则表达式

标签:格式   love you   replace   中文检测   去除空格   str   出现   simple   匹配   

原文地址:https://www.cnblogs.com/simple827/p/11872289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!