RegExp 是正则表达式的缩写。
RegExp 对象用于存储检索模式。
RegExp 对象的方法
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。
test()
test() 方法检索字符串中的指定值。返回值是 true 或 false。
exec()
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
compile()
compile() 方法用于改变 RegExp。
compile() 既可以改变检索模式,也可以添加或删除第二个参数。
正则表达式中的特殊字符
表示转义
^ 表示匹配输入的开始
$ 表示匹配输入的结束
* 一个表达式的多次或0次
+ 匹配前面一个表达式一次或多次
? 匹配前面一个表达式0次或者一次 ???
. 匹配除换行符之外的任何单个字符
[abc] 查找方括号之间的字符
[^abc] 查找不在方括号之间的字符
(a|b|c) 查找任何指定选项
w 查找单词字符
W 查找非单词字符
d 查找数字字符
D 查找非数字字符
s 查找空字符
S 查找非空白字符
修饰符
修饰符 | 描述 |
---|---|
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) | 查找任何指定的选项。 |
[ ]
res = /[abc]/.test('lue'); false
res = /[^abc]/.test('lue'); true
res = /[0-9]/.test('this is a test'); false
res = /[a-z]/.test('234235453245'); false
res = /php|javascript|ios/i.test('PHP'); true
console.log(res);