正则笔记
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次,至多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,} | 重复匹配 |
| 4 | ^ $ \b \B \A \Z | 边界限制 |
| 5 | | | 模式选择 |

浙公网安备 33010602011771号