正则表达式
定义:正则表达式是一种特殊的字符串模式,用于匹配一组字符串,本质是字符串,可用单、双引号;
正则边界符:也叫定界符,常用2个/(斜线) 或者2个|(竖线),例如$reg="\ \"; 或 $reg='| |';
原子:最少的一个匹配单位,放在边界符中,至少要有一个原子;
正则元字符:不能单独使用,是修饰原子用的,写在边界符里面;
- ^->匹配字符串中的起始位置;
- $->匹配字符串中的结束位置;
- [abc]->匹配包括[ ]内的字符组;
- \d->匹配数字,如匹配一个固话0字开头,前4位后7位,如0737-1234567 $reg="\^0\d\d\d-\d\d\d\d\d\d\d\";
量词:
- {n}->重复n次,如a{3},取3个a字符;
模式修正符号: 对正则整个表达式的修饰,放在边界符右边;如:$reg="/abc/m";
- i-> 不区分大小写的匹配;
- g->表示全局匹配;
- m ->将字符串视为多行,不管是那行都能匹配;
- s ->将字符串视为单行,换行符作为普通字符;
- x >-将模式中的空白忽略;
正则表达式常用的函数:
- preg_replace($reg,$replace,$subject);->执行一个正则表达式的搜索和替换;
3个参数,将$subject中匹配$reg部分,以$replace进行替换; - preg_split($reg,$subject);->以$reg为分隔符,将$subject字符串分割成数组;
- preg_match($reg,$subject,$arr);->用于正则表达式匹配,成功返回1,失败返回0->$arr是存储匹配结果的数组;