正则表达式语法
规则:字符串两边加“/”
匹配函数:preg_match(正则,str)返回值真为1,否则返回0
正则表达式中的元素
- +:>1个
- *:0个或多个
- ?:0个或1个
- .:匹配任意一个字符
- .*:0个或多个任意字符
- {n}:表示n个前导字符
- {n,}:至少n个前导字符
- $:一般在正则表达式尾部,表示尾部匹配
- ^:表示头部匹配,一版在表达式的头部
- |:条件选择符,其中一个匹配即可。
- ():包围一个字符分组,可以用\1\2来提取组
- [ ]:表示任意一个即可
- [ ^abc ]:表示不包含中括号中的字符
- \w:表示[a-zA-Z0-9]
- \W:和\w相反
- \d:[0-9]
- \D:\d相反
- \s:包含空白字符
- \S:不包含空白字符
- \b表示到达单词的边界
- \B没有到达边界
修饰符
- i:完成不区分大消息而的搜索
- m:多行识别
- x:忽略正则中的空白
- A:强制从头开始匹配
- U:禁止贪婪匹配,只跟踪到最近的一个匹配符并结束。
函数
- preg_grep(mode,array)搜索数组中相匹配的字符串,返回数组
- preg_match(mode,string)搜索模式,最后返回的是真或者假(1或0)
- preg_match_all(mode,string,out)匹配全局,将字符串的所有匹配得到的结果放入一个数组out中。
- preg_quote()在么个对于正则表达式有特殊含义的字符前插入一个反斜杠,特殊字符包括($^*()+={}[]|\:<>)
- preg_replace(mode,替换的string,被替换的string)搜做到所有匹配然后替换
- preg_split(mode,string)用正则表达式进行分割