JS正则
JS的正则表达式使用new RegExp('re',[flag])
新建一个对象,或者在//
里面写都可以
支持正则的方法
方法 | 描述 |
---|---|
exec |
5一个在字符串中执行查找匹配的RegExp方法,它返回一个数组(未匹配到则返回 null)。 |
test |
一个在字符串中测试是否匹配的RegExp方法,它返回 true 或 false。 |
match |
一个在字符串中执行查找匹配的String方法,它返回一个数组,在未匹配到时会返回 null。 |
matchAll |
一个在字符串中执行查找所有匹配的String方法,它返回一个迭代器(iterator)。 |
search |
一个在字符串中测试匹配的String方法,它返回匹配到的位置索引,或者在失败时返回-1。 |
replace |
一个在字符串中执行查找匹配的String方法,并且使用替换字符串替换掉匹配到的子字符串。 |
split |
一个使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中的 String 方法。 |
搜索和替换
1 | let str = 'Hello world 1234 ./,;'; |
判断
可以知道某字符串是否满足规则
切分字符串
分组
1 | var re = /^(\d{3})-(\d{3,8})$/; |
通过exec可以提取分组里面的子串,返回一个数组,第一个元素是匹配到的整个字符串,后面跟着子串
贪婪
默认匹配是贪婪模式,即尽量往多的匹配
非贪婪匹配
特殊标志
标志 | 描述 |
---|---|
g |
全局搜索。 |
i |
不区分大小写搜索。 |
m |
多行搜索。 |
s |
允许 . 匹配换行符。 |
u |
使用unicode码的模式进行匹配。 |
y |
执行“粘性”搜索,匹配从目标字符串的当前位置开始,可以使用y标志。 |