正则表达式(Regular Expressions)

111 阅读2分钟

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分别表示第一个匹配项和第二个匹配项
'\大写字母'表示 非'\小写字母'