PHP正则表达式(匹配手机号码、邮箱、img中的src值)
正则的作用是:查找、匹配、分割、替换
规则如下:
\D:非数字 等价于[^0-9]
\d:数字 等价于[0-9]
\W:非单词字符 等价于[^a-zA-Z0-9_]
\w:单词字符 等价于[a-zA-Z0-9_]
\S:非空字符
\s:空字符 空字符有 空格 制表符tab键 换行\n 回车\r
i:ignore 忽略大小写 匹配时忽略大小写
U 和.*? 取消贪婪
/^ $/ ^开始 $结束
. 除\n 外的任意字符
.* 多次 * 零次
? 零次或一次
.+ 一次或多次 + 一次
[] 集合 [\d|\w]
{} 位数 {n} {n-m}
() 后向引用 (把我取出来)
#匹配137开头的手机号码
function mathingPhone($num){
$pattern = '/^137\d{8}$/';
preg_match($pattern,$num,$match);
return $match;
}
#匹配邮箱
function mathingEmail($email){
$pattern = '/^[\w]+@[\w]+\.com$/i';
preg_match($pattern,$email,$match);
return $match;
}
#获取多个img标签中的src值
function get_img_src(){
$str = file_get_contents(‘https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9874007548704553758%22%7D&n_type=-1&p_from=-1’);
$pattern='//';
/*preg_match:匹配中就会停止;preg_match_all全局匹配所有*/
preg_match_all($pattern,$str,$match);
return $match;
}