正则表达式

定义:正则表达式是一种特殊的字符串模式,用于匹配一组字符串,本质是字符串,可用单、双引号;

正则边界符:也叫定界符,常用2个/(斜线)  或者2个|(竖线),例如$reg="\     \";  或 $reg='|   |';

原子:最少的一个匹配单位,放在边界符中,至少要有一个原子;

正则元字符:不能单独使用,是修饰原子用的,写在边界符里面;

  1. ^->匹配字符串中的起始位置;
  2. $->匹配字符串中的结束位置;
  3. [abc]->匹配包括[ ]内的字符组;
  4. \d->匹配数字,如匹配一个固话0字开头,前4位后7位,如0737-1234567  $reg="\^0\d\d\d-\d\d\d\d\d\d\d\";

量词:

  1. {n}->重复n次,如a{3},取3个a字符;

 

模式修正符号: 对正则整个表达式的修饰,放在边界符右边;如:$reg="/abc/m";

  1. i-> 不区分大小写的匹配;
  2. g->表示全局匹配;
  3. m ->将字符串视为多行,不管是那行都能匹配;
  4. s ->将字符串视为单行,换行符作为普通字符;
  5. x >-将模式中的空白忽略;

正则表达式常用的函数:

  1. preg_replace($reg,$replace,$subject);->执行一个正则表达式的搜索和替换;
    3个参数,将$subject中匹配$reg部分,以$replace进行替换;
  2. preg_split($reg,$subject);->以$reg为分隔符,将$subject字符串分割成数组;
  3. preg_match($reg,$subject,$arr);->用于正则表达式匹配,成功返回1,失败返回0->$arr是存储匹配结果的数组;