正则表达式本身就是一种语言,这在其它语言是通用的
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
strpos(‘abc’); //精确匹配 只能匹配字符串“abc”
正则表达式 //模糊匹配
在SQL中
Where name=’zhangsan’; //精确匹配
Where name like ‘zhang%’; //姓名以zhang开始的字符串
为什么使用(使用场景)
1)验证邮箱 kunx@kunx.org kunx@xianrentiao.cn admin@kunx.org
2)手机号 17002810530 15888888888 18777777777
3)银行卡号
4)采集器
5)中奖信息 138****8888
6)屏蔽特殊词汇
入门
<?php$str = 'when I am 8 years old, wo shi yige hao haizi.';
//使用正则判断是否含有8
$rst = preg_match('/am 8/', $str);
var_dump($rst);
//使用正则判断是否含有数字
$rst = preg_match('/ \d/', $str);
var_dump($rst);
//使用正则判断是否含有非数字
$rst = preg_match('/ \D/', $str);
var_dump($rst);
//取出第一个非数字的字符,放到第三个参数中
preg_match('/ \D/', $str, $matches);
//preg_match_all('/\D/', $str, $matches);
var_dump($matches);
echo preg_replace('/\d/', 'number', $str); //将所有的数字替换成number
常用的函数
preg_match()
preg_match_all()
preg_replace()