0. 正则表达式

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

1. 方式:

字面量

var 变量名 = /表达式/模式修饰符
1

构造函数

var 变量名 = new RegExp("表达式","模式修饰符")
1

2. 表达式

单个字符与数字

编码 详解
. 匹配除换行符之外的任意字符
[a-z0-9] 匹配方括号中的任意字符
[^a-z0-9] 匹配不在方括号中的任意字符
\d 匹配数字
\D 匹配非数字
\w 匹配字母
\W 匹配非字母

空白字符

编码 详解
\0 匹配 null 字符
\b 匹配空格字符
\f 匹配进纸符
\n 匹配换行符
\r 匹配回车符
\s 匹配空白字符、空格、制表符或换行符
\S 匹配非空白字符
\t 匹配制表符

定位符

编码 详解
^ 行首匹配
$ 行尾匹配
\A 只匹配字符串的开始处
\b 匹配单词边界,词在[]内无效
\B 匹配非单词边界
\G 匹配当前搜索的开始位置
\Z 匹配字符串结束处或行尾
\z 只匹配字符串结束处

限定符

编码 详解
x? 匹配0个或1个x
x* 匹配0个或任意多个x
x+ 匹配至少1个x
x{m,n} 匹配最少m个,最多n个x

分组

编码 详解
(?:x) 匹配x但不记录匹配结果
x(?=y) 当x后接y时匹配x
x(?!y) 当x后不是y时匹配x

引用

编码 详解
\1…\9 $1…$9 返回九个在模式匹配期间找到的、最近保存的部分

或迷失

编码 详解
x|y|z 匹配x或y或z

3. 模式修饰符

编码 详解
g 全局模式,应用于所有字符串
i 区分大小写模式
m 多行匹配模式

4. 属性

实例属性

编码 详解
global 检测是否设置g标记
ignoreCase 检测是否设置i标记
multiline 检测是否设置了m标记
lastIndex 开始检索下一个匹配项的字符位置
source 返回正则表达式的字符串表示
lastIndex 返回被查找字符串中下一次成功匹配的开始位置

构造函数属性

编码 代码 详解
$_ input 返回最近一次匹配的字符串
$& lastMatch 返回最近一次的匹配项
$+ lastParen 返回最近一次匹配的捕获组
$` leftContext 返回被查找的字符串中从字符串开始位置到最后匹配之前的位置之间的字符
$' rightContext 返回被搜索的字符串中从最后一个匹配位置开始到字符串结尾之间的字符
$* multiline 检测表达式是否采用多行模式匹配m

5. 方法

实例方法

exec

exec 在字符串中执行匹配检索,返回结果数组

派生属性

index 匹配项在字符串中的位置 input 应用正则表达式的字符串 length 返回数组元素个数

test

test 在字符串中测试模式匹配,返回true或false

字符串方法

编码 详解
match 找到一个或多个正则表达式的匹配
replace 替换与正则表达式匹配的子串
search 检索与正则表达式相匹配的值
split 把字符串分割为字符串数组