数量限定符

数量限定符 解释
x+ 1 或多个
x* 0 或多个
x? 0 或 1 个
x{n} n 个
x{n,} 至少 n 个
x{n, m} n 至 m 个, 遵循贪婪原则, 会尽可能匹配多个; 如果在后面加个 ? (如 x{n, m}?), 遵循非贪婪原则

贪婪可以理解成从后往前遍历, 非贪婪可以理解为从前向后遍历

字符限定符

字符限定符 解释
\d 匹配一个数字字符, [0-9]
\D 匹配一个非数字字符, [^0-9]
\w 匹配单词字符(包括数字下划线在内), [0-9A-Za-z_]
\W 匹配非单词字符(包括数字下划线在内), [^0-9A-Za-z_]
\s 匹配空白字符(空格、回车、制表符)
\S 匹配非空白字符
. 匹配任何单个字符(不包括空白字符)

根据使用方法可以进行如下分类:

使用 解释
[0-9a-zA-Z] 范围字符
[abcd] 任意字符
[^a-z] 范围字符

定位符

定位符 解释
^ 开头标识
$ 结尾标识
\b 单词边界
\B 非单词边界

转义符

\: 用于匹配某些特殊字符

选择匹配符

|: 可以匹配多个规则

特殊用法

特殊用法 解释
?= 正向预查 匹配以指定内容结束的字符串
?! 负向预查 匹配不是以指定内容结束的字符串(JS 中没有负向预查)
? 不把选择匹配符的内容放到缓冲区

正则表达式在 JavaScript 下的使用方法

在 JavaScript 下使用正则表达式, 有两种方法:
第一种方法: 使用 RegExp
提供的方法有: (正则表达式在前面)

  • test(str): 在字符串匹配是否有匹配模式的字符串, 返回 true/false
  • exec: 如果正则表达式中有子表达式, 使用 exec 方法, 返回 result[0] = 匹配结果, result[1] = 子表达式 1 的匹配结果 ……
    第二种方法是: 使用 String
    提供的方法有: (正则表达式在后面)
  • search 返回匹配模式的字符串出现的位置, 如果没有, 返回 -1;
  • match 返回匹配模式匹配到的字符串, 如果有, 返回数组, 无, 返回 null;
  • replace 将匹配模式匹配到的字符串进行替换;
  • split 将字符串已匹配模式为分隔符进行字符串分隔, 返回数组;