正则表达式中包含三种元素分别为:量词、元字符、修饰符
量词 | |
语法 | 描述 |
+ | 匹配任何至少包含一个前导字符串 |
* | 匹配任何包含零个或多个前导字符串 |
? | 匹配任何包含零个或一个前导字符串 |
. | 匹配任意字符串 |
{x} | 匹配任何包含 x 个前导字符串 |
{x,y} | 匹配任何包含 x 到 y 个前导字符串 |
{x,} | 匹配任何包含至少 x 个前导字符串 |
$ | 匹配字符串的行尾 |
^ | 匹配字符串的行首 |
| | 匹配字符串的左边或者右边 |
() | 包围一个字符分组或定义个反引用,可以使用\1\2 提取 |
元字符 | |
语法 | 描述 |
[a -z] | 匹配任何包含小写字母 a -z 的字符串 |
[A-Z] | 匹配任何包含大写字母 A -Z 的字符串 |
[0-9] | 匹配任何包含数字 0-9 的字符串 |
[abc] | 匹配任何包含小写字母 a、b、c 的字符串 |
[^abc] | 匹配任何不包含小写字母 a、b、c 的字符串 |
[a -zA-Z0-9_] | 匹配任何包含 a -zA-Z0-9 和下划线的字符串 |
\w | 匹配任何包含 a -zA-Z0-9 和下划线的字符串(同上) |
\W | 匹配任何没有下划线和字母数字的字符串 |
\d | 匹配任何数字字符,和[0-9]相同 |
\D | 匹配任何非数字字符,和[^0-9]相同 |
\s | 匹配任何空白字符 |
\S | 匹配任何非空白字符 |
\b | 匹配是否到达了单词边界 |
\B | 匹配是否没有达到单词边界 |
\ | 匹配正则中的特殊字符 |
修饰符 | |
语法 | 描述 |
i | 完成不区分大小写的搜索 |
m | 在匹配首内容或者尾内容时候采用多行识别匹配 |
x | 忽略正则中的空白 |
A | 强制从头开始匹配 |
U | 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束 |