代码如下
var str = "123#abc";
var re = /abc/ig;
console.log(re.test(str)); //输出ture
console.log(re.lastIndex); //输出7
console.log(re.test(str)); //输出false
console.log(re.lastIndex); //输出0
console.log(re.test(str)); //输出ture
console.log(re.lastIndex); //输出7
console.log(re.test(str)); //输出false
console.log(re.lastIndex); //输出0
修饰符
修饰符
描述
i
执行对大小写不敏感的匹配。
g
执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m
执行多行匹配。
方括号
方括号用于查找某个范围内的字符:
表达式
描述
[abc]
查找方括号之间的任何字符。
[^abc]
查找任何不在方括号之间的字符。
[0-9]
查找任何从 0 至 9 的数字。
[a-z]
查找任何从小写 a 到小写 z 的字符。
[A-Z]
查找任何从大写 A 到大写 Z 的字符。
[A-z]
查找任何从大写 A 到小写 z 的字符。
[adgk]
查找给定集合内的任何字符。
[^adgk]
查找给定集合外的任何字符。
(red|blue|green)
查找任何指定的选项。
元字符
元字符(Metacharacter)是拥有特殊含义的字符:
元字符
描述
.
查找单个字符,除了换行和行结束符。
w
查找单词字符。
W
查找非单词字符。
d
查找数字。
D
查找非数字字符。
s
查找空白字符。
S
查找非空白字符。
b
查找位于单词的开头或结尾的匹配。
B
查找不处在单词的开头或结尾的匹配。
查找 NUL 字符。
n
查找换行符。
f
查找换页符。
r
查找回车符。
t
查找制表符。
v
查找垂直制表符。
xxx
查找以八进制数 xxx 规定的字符。
xdd
查找以十六进制数 dd 规定的字符。
uxxxx
查找以十六进制数 xxxx 规定的 Unicode 字符。
量词
量词
描述
n+
匹配任何包含至少一个 n 的字符串。
n*
匹配任何包含零个或多个 n 的字符串。
n?
匹配任何包含零个或一个 n 的字符串。
n{X}
匹配包含 X 个 n 的序列的字符串。
n{X,Y}
匹配包含 X 或 Y 个 n 的序列的字符串。
n{X,}
匹配包含至少 X 个 n 的序列的字符串。
n$
匹配任何结尾为 n 的字符串。
^n
匹配任何开头为 n 的字符串。
?=n
匹配任何其后紧接指定字符串 n 的字符串。
?!n
匹配任何其后没有紧接指定字符串 n 的字符串。