REGEX
匹配字符
符号 | 说明 |
---|---|
\d | 数字:[0-9] |
\D | 非数字:[^0-9] |
\s | 空白字符:[\t\n\x0B\f\r] |
\S | 非空白字符:[^\s] |
\w | 单词字符:[a-zA-Z_0-9] |
\W | 非单词字符:[^\w] |
\ | 将下一字符标记为特殊字符、文本、反向引用或八进制转义符 |
* | 等价于{0,} 匹配0至多个在它之前的字符 |
+ | 等价于{1,} 匹配前面的子表达式一次或多次 |
? | 等价于{0,1}匹配前面的子表达式零次或一次 |
{n} | n 是非负整数,正好匹配 n 次 |
{n,m} | m 和 n 是非负整数,其中 n <= m,匹配至少 n 次,至多 m 次 |
. | 匹配除"\r\n"之外的任何单个字符 |
() | 将 () 之间括起来的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域。 |
(\d) | 第一组 |
((A)(B©)) | 捕获组可以通过从左到右计算其开括号来编号,第一组 ((A)(B©)) 第二组 (A) 第三组(B©) 第四组© |
边界匹配符号
符号 | 说明 |
---|---|
^ | 匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与"\n"或"\r"之后的位置匹配 |
$ | 匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与"\n"或"\r"之前的位置匹配 |
\b | 单词边界 |
\B | 非单词边界 |
\A | 输入的开头 |
\G | 上一个匹配的结尾 |
\Z | 输入的结尾,仅用于最后的结束符(如果有的话) |
\z | 输入的结尾 |
[]的使用 | 说明 |
---|---|
[] | 匹配括号中的任何一个字符 |
[abc] | a、b 或 c(简单类) |
[^abc] | 任何字符,除了 a、b 或 c(否定) |
[a-zA-Z] | a 到 z 或 A 到 Z,两头的字母包括在内(范围) |
[a-d[m-p]] | a 到 d 或 m 到 p:[a-dm-p](并集) |
[a-z&&[def]] | d、e 或 f(交集) |
[a-z&&[^bc]] | a 到 z,除了 b 和 c:[ad-z](减去) |
[a-z&&[^m-p]] | a 到 z,而非 m 到 p:[a-lq-z](减去) |
常用正则表达式大全
正则表达式 | 说明 |
---|---|
[u4e00-u9fa5] | 匹配中文字符 |
d+.d+.d+.d+. | IP地址 |
d{18} | 身份证 |