PHP正则笔记

来源:互联网 发布:北京景点知乎 编辑:程序博客网 时间:2024/06/08 14:19

1.PHP正则函数

函数 功能 preg_match() 正则匹配表达式 preg_match_all() 全局正则匹配 preg_repalce() 正则搜索和替换 preg_split() 正则分割字符串 preg_grep() 返回模式匹配的数组单元 preg_repalce_callbacl() 用回调函数执行正则表达式的搜索和替换

2.正则中的常用的非打印字符

字符 含义 \d 匹配任一十进制数,等价于[0-9] \D 匹配任一非十进制字符,等价于[^0-9] \s 匹配任一空白字符,等价于[\f\n\r\t\v] \S 匹配任一非空白字符,等价于[^\f\n\r\t\v] \w 匹配任一字母、数字、下划线,等价于[0-9a-zA-Z_] \W 匹配任一非字母、数字、下划线,等价于[^0-9a-zA-Z]

3.正则中的元字符

字符 含义 * 匹配0次、1次、或多次其前的原子 + 匹配1次或多次 ? 匹配0次或1次 . 匹配匹配除换行符外的任一字符 | 匹配两个或者多个分支选择 {n} 表示前面的原子出现n次 {n,} 表示前面的原子至少出现n次 {n,m} 表示签名的原子至少n次,至多m次 ^或\A 匹配输入字符串的开始位置,或多行模式的开头,紧随一换行符之后 $或\Z 匹配输入字符串的结束位置,或多行模式的结尾,紧随一换行符之前 \b 匹配单词的边界 \B 匹配除单词边界以外的部分 [] 匹配方括号中指定的任一原子 [^] 匹配除方括号中原子以外的任一字符 () 匹配其整体为一个原子

3.模式修正符

修正符 含义 i 不区分大小写 m 将字符串视为多行 s 若设置此修正符,则圆点符“.”匹配所有字符,包括换行符,将字符串视作单行 x 空白忽略不计,除非空白已被转义 e 只用于preg_replace()函数中,在替换字符串中对逆向引用做正常的替换,将其作为PHP代码求值,并用其结果来替换所搜索的字符串 U 本修正符反转了匹配数量的值使其不是默认的重复,而变成在后面跟上“?”才变得重复,与perl语言不兼容,也可通过在模式中设定(U)修正符或者在数量符之后跟一个问号来使用此项 D 美元字符仅匹配目标字符串的结尾,没有此选项时,如果最后一个字符是换行符,则美元符号也会匹配此符号之前的内容。如果设定了m修正符,在忽略此项

4.模式匹配顺序

顺序 字符 含义 1 \ 转义符 2 () (?:) (?=) [] 模式单元和原子表 3
      ? {n} {n,} {n,m}
重复匹配 4 ^ $ \b \B \A \Z 边界限制 5 | 模式选择