PHP正则表达式
目录
1.正则表达式常用函数
2.正则表达式基本语法
3.模式修正
4.实用表达式
1.正则表达式常用函数
//preg_math($parrten,$subject,array) #只会匹配一次。返回结果只为0或1, 匹配的数据放入一维数组。 //pre_math_all(); #全部匹配。返回结果0,1,2. ...,匹配的数据放入二维数组。 //preg_replace($pattern,$replacement,$subject); //preg_filter($pattern,$replacement,$subject); #$replacement 将匹配到的值替换为这个变量中存放的值 //preg_grep($pattern,array $input) #类似于模糊查询函数(只匹配,不替换),将相匹配的值返回到新的数组中,旧数组不匹配的值则过滤掉不匹配 //preg_split($pattern,$subject) #匹配到后分割成数组输出 //preg_quote($str) #正则运算符转义 #正则表达式中有这些运算符 .\+*?[^]$(){}=!<>|:-
2.正则表达式基本语法
//界定符:正则表达式的开始和结束 # /...../ php常用 # #.....# php常用 # {.....} php不常用 //不可见原子 # 换行符:\n # 回车:\r # 制表符:\t //元字符 # | 匹配两个或多个分支选择 # [ ] 匹配方括号中任意一个原子 # [^]匹配不再方括号中的任意字符 //原子集合 # .匹配除换行符之外的任意字符。 # \d 匹配任意一个十进制数字 # \D 匹配任意一个非十进制数字 # \s 匹配一个不可见原子 # \S匹配一个可见原子 # \w 匹配任意一个数字、字母或者下划线 # \W 匹配任意一个非数字、字母或者下划线 //量词 # {n} 表示其前面的原子恰好出现n次。 # {n,} 表示其前面的原子最少出现n次。 # {n,m} 表示其前面的原子最少出现n次,最多出现m次。 # * 匹配0次,1次,或者多次其之前的原子,即{0,}。 # + 匹配1次,或者多次其之前的原子,即{1,}。 # ? 匹配0次,1次,或者1次其之前的原子,即{0,1}。 //边界控制 # ^ 匹配字符串开始的位置 # $ 匹配字符串结尾的位置
3.模式修正
// 懒惰匹配模式 #匹配结果越少越好 $pattern = "/[a-zA-Z0-9]+/U"; //贪婪匹配模式(默认) #匹配结果越多越好 $pattern = "/[a-zA-Z0-9]+/U"; //常用修正模式 # U- 懒惰匹配 # i - 忽略英文字母大小写 # x - 忽略空白 # s - 让元字符“.”匹配包括换行符在内的所有字符
4.实用表达式
//非空 $pattern = "/.+/"; //手机号 $pattern = "/1[34578]\d{9}/"; //email $pattern = "/^\w+(\.\w+)*@\w+(\.\w+)+$/"; //URL $pattern = "/^(https?://)?(\w\.)+[a-zA-Z]+$/";