正则表达式 php
描述复杂规则的语法 正则表达式
做用:分割、匹配、查找、替换 函数
可完成的工做:数据验证(手机号码格式、日期格式、邮箱格式)、采集程序等。 spa
//php正则函数:
//preg_match perl语言基础
//ereg正则 POSIX(Unix、Script)基础
=====基本元素=====
简单原子匹配
//匹配的内容要放在"//"结束符号中
//匹配字符
$mode = '/abc/'; //表达式
$str = 'abcfasdfaabc'; //匹配内容
//匹配数字
$mode = '/12/';
$str = 2234234121245234;
//原括号
$mode = '/(12)/';
$str = 2234234121245234;
//原子表 以中括号为基础,即[],有一个匹配成功则表示成功
$mode = '/[98]/';
$str = 'dfasjhdfasj9fasfasjdf8h'; //匹配内容
//结果:Array ( [0] => 9 ) 9,//9和8当中有一个匹配成功,表示成功
$mode = '/[^98]/'; //9和8当中有一个匹配成功,表示成功
$str = 'dfasjhdfasj9fasfasjdf8h'; //匹配内容
//结果:Array ( [0] => d ) d,不包含9和8
//以上为数字例子,替换成字母同样的效果,在这里就不展现了
转义缩写 $str = 'fasdfasfa232dfsdg56daf8da6'; //匹配数字,原子表,等价于[0123456789] $mode = '/[0-9]/'; //切换成转义缩写 $mode = '/\d/'; //结果Array ( [0] => 2 ) 2 $mode = '/[^0-9]/'; //等价于/\D/ 除数字之外 //print : Array ( [0] => f ) f //其余转义,用法同样,不作展现 // \w [a-zA-Z] 全部英文字母 // \W [^a-zA-Z] 全部英文字母除外 // \s [\r\n\f] 回车,换行,分页 if(preg_match($mode , $str , $arr)) { print_r($arr); echo $arr[0]; } else { echo 'no'; }