| 标志位 | 说明 |
|---|---|
| re.I | 字母不区分大小写 |
| re.S | 使 . 匹配包括换行 |
| re.X | 忽略空格和 # 后面的注释 |
| re.M | 多行匹配,影响 ^ 和 $ |
| re.U | Unicode解码,影响 \w, \W, \b, \B, \d, \D, \s, \S |
| re.L | 本地化识别匹配,影响 \w, \W, \b, \B, \d, \D, \s, \S |
| 模式 | 说明 |
|---|---|
| ^ | 匹配字符串的开头 |
| $ | 匹配字符串的末尾。 |
| . | 匹配任意一个字符,不包括换行符 |
| l | 或 |
| * | 匹配0个以上 |
| + | 匹配1个以上 |
| ? | 匹配最少字符(非贪婪模式) |
| 模式 | 说明 |
|---|---|
| [] | 匹配组内字符,[abc]匹配a,b,c |
| [^] | 匹配组外字符:[^abc] 匹配除了a,b,c |
| [0-9] | 匹配任何数字。类似于 [0123456789] |
| [a-z] | 匹配任何小写字母 |
| [A-Z] | 匹配任何大写字母 |
| [“-a] | ASCII系统中,所有字符都在这个区间 |
| { n} | 匹配 前n表达式,(非贪婪模式) |
| { n,} | 匹配 前n表达式,(贪婪模式) |
| { n, m} | 匹配第 n 到 m (贪婪模式) |
| </?[^>]+> | 匹配所有有效的HTML标签 |
| 模式 | 说明 |
|---|---|
| () | 表示一个组 |
| (?) | 只影响括号中的区域。 |
| (?-) | 不使用可选标志 |
| (?: ) | 类似 (), 但不是组 |
| (?-: ) | 不使用可选标志 |
| (?P< name >…) | 将name 标识,…为表达式 |
| (?#…) | 注释 |
| (?> …) | 独立模式 |
| (?=… ) | 后面为…才匹配 |
| (?! …) | 后面不为…才匹配 |
| (?<=… ) | 前面为…才匹配 |
| (?<! …) | 前面不为…才匹配 |
| (?(…)yln) | 存在…,匹配y,否则匹配n |
| 模式 | 说明 |
|---|---|
| \w | 字母数字及下划线 |
| \W | 非字母数字及下划线 |
| \s | 空白字符, [\t\n\r\f] |
| \S | 非空字符 |
| \d | 数字, [0-9] |
| \D | 非数字 |
| \A | 字符串开始 |
| \z | 字符串结束 |
| \Z | 字符串结束,有换行,则换行前结束 |
| \G | 最后匹配完成的位置 |
| \b | 单词边界,字母与空字符相邻 |
| \B | 非单词边界,字母与空字符不相邻 |
| \n | 换行符 |
| \t, | 制表符 |
| \数字 | 匹配第n个分组的内容 |
正则表达式详解
本文详细解析了正则表达式的各种模式与标志位,包括大小写不敏感、多行匹配、贪婪与非贪婪模式等特性,以及如何使用特殊字符进行精确匹配。
1013





