x 匹配一个固定的字符
例如: [abc] 匹配 a, b, c 中的任意一个字符 x 匹配一个固定的字符
例如:
[a-z] 匹配 任意一个 小写字母
[A-Z] 匹配 任意一个大写字母
[0-9] 匹配任意一个数字
[a-zA-Z0-9] 匹配 任意一个字母或数字
[^0-9] 匹配任意一个 非数字 字符
[^0-9a-zA-Z] 匹配任意一个 非字母和数字的 字符
元字符
\d : 等价与 [0-9]
\D : 等价与 [^0-9]
\w : 等价与 [a-zA-Z0-9_] : 匹配字母、数字、下划线中的任意一个字符
\W : 等价与 [^a-zA-Z0-9_]
\s : 匹配一个空白字符 (空格、tab制表符、换行符)
\S : 对 \s 取反
. : 匹配除了换行符 之外的 任意字符
\. : 匹配一个 .
匹配多个元素
X{n} : X匹配的内容出现 n 次
X{n, } : x 匹配的内容出现 至少 n 次
X{n, m} : x配的内容出现至少 n 次、最多 m 次
贪婪式表达式
尽可能多的去匹配内容, 贪婪式表达式优先进行匹配,后面的表达式在进行匹配
X* : X匹配的内容至少出现 0次 ,等价与 X{0,}
X+ : X匹配的内容至少出现 1次 , 等价与 X{1,}
X? : X匹配的内容最多出现 1次 , 等价于 X{0,1}
非贪婪式表达式 在贪婪式表达式后,添加 ? ,则形成非贪婪式
尽可能少的取匹配内容, 贪婪式后面的表达式优先进行匹配,然后非贪婪式在进行匹配
X*? : X匹配的内容至少出现 0次 ,等价与 X{0,}
X+? : X匹配的内容至少出现 1次 , 等价与 X{1,}
X?? : X匹配的内容最多出现 1次 , 等价于 X{0,1}
限定符
^ : 写在正则表达式的第一个字符上,代表 以 ... 开头
$ : 写在正则表达式的末尾、代表 以 ... 结尾
分组
() 可以给正则表达式、添加小括号,形成子表达式
非捕获分组
(?: ) : 一旦一个 分组中,添加了 ?: , 则该括号不再计算为 组
引用分组
\n : n 代表一个数字、数字代表 第几个组
引用分组的主要作用,是用来匹配 和 指定组 完全相同的内容
选择
| : 或
断言
?= : 正向确定断言
断言 正则表达式匹配的内容 后面一定满足某个条件
?<= : 反向确定断言
断言 正则表达式匹配的内容 前面一定满足某个条件
?! : 正向否定断言
?<! : 反向否定断言