1. 方法
正则实例方法 - RegExp
// 返回 捕获组 或 null
RegExp.prototype.exec()
// 返回 true 或 false
RegExp.prototype.test()
字符串实例方法 - String
// 返回 结果数组(标识符 g)或 捕获组
String.prototype.match()
// 必须有 g 标识符;返回结果为所有匹配项的 捕获组数组
String.prototype.matchAll()
// 返回结果为替代后的字符串
String.prototype.replace(pattern, replacement)
// 返回结果为首次匹配项的索引,否则 -1
String.prototype.search()
// 返回结果为数组,使用正则分隔符
String.prototype.split()
2. 正则表达式中的特殊字符
| 字符 | 含义 | 字符 | 含义 |
|---|---|---|---|
| \ | 转义字符 | x(?=y) | 匹配后面是 y 的 x |
| ^ | 匹配输入的开始 | x(?!y) | 匹配后面不是 y 的 x |
| $ | 匹配输入的结束 | (?<=y)x | 匹配前面是 y 的 x |
| * | 匹配前面一个表达式 0 次或多次 | (?<!y)x | 匹配前面不是 y 的 x |
| + | 匹配前面一个表达式 1 次或多次 | (x) | 匹配 x 并且记住匹配项,用 \1 表示第 1 个匹配项,以此类推 |
| ? | 匹配前面一个表达式 0 次或 1 次 | (?:x) | 匹配 x 但是不记住匹配项 |
| . | 匹配除换行符之外的任何单个字符 | x|y | 匹配 x 或者 y |
| {n} | 匹配前一个字符刚好出现 n 次 | {n,} | 匹配前一个字符至少出现 n 次 |
| {n,m} | 匹配前一个字符至少出现 n 次,至多出现 m 次 | [xyz] | 字符集合,匹配其中任意字符 |
| [^xyz] | 反向字符集合,匹配除了字符集合中的字符 | \b | 匹配一个单词的边界 |
| \d | 匹配一个数字 | \n | 匹配一个换行符 |
| \r | 匹配一个回车符 | \s | 匹配一个空白字符 |
| \w | 匹配一个单字字符(字母、数字、下划线) | \1 \2 | 分别表示第一个匹配项和第二个匹配项 |
| '\大写字母' | 表示 非'\小写字母' |