一、什么是正则
1. 是一种操作字符串的,强大的字符串匹配工具。
2. 声明方式:
- 简单声明: var re = /abc/;
- 构造函数声明 var re2 = new RegExp(‘abc’)
二、几种正则匹配方法
1. Test()
- 返回值: 如果匹配成功 则返回
true
否则匹配不成功 返回false
- 写法:
re.test(str);
2. Search()
- 返回值: 如果匹配成功 则返回
对应匹配的位置
, 否则匹配不成功返回-1
- 写法:
str.search(re);
3. Match()
- 返回值:如果匹配成功 则返回一个
数组
,会把匹配到字符保存到数组中 - 写法:
str.match(re);
4. Replace()
- 返回值 用正则去匹配字符串 ,将匹配到的字符进行替换 替换成新的字符
- 写法:
str.replace(re,"新字符");
str.replace(re,function($0){
Console.log($0)
})
三、正则当中的转义字符
.(点)
任意字符 如果就想只匹配.(点) 加转义字符 还原它本来的意思\d、\D
匹配数字 / 非数字\w、\W
匹配字符/非字符 (字符:字母数字下划线 不包含空格)\s 、\S
空格/ 非空格\b 、\B
匹配独立部分/ 非独立部分
四、可以结合字符串方法使用
- indexOf 用来查找对应字符的位置
- Substring 用来截取子字符
- charAt 在字符串中根据下标去找对应的字符
- Split 将字符串通过分割符转成数组
注意
- 正则中严格区分大小写 如果你想忽略大小写,i 忽略大小写(ignore简写)比如:
var re = /F+/i;
- 正则匹配:如果匹配成功 则不往后匹配了,但加上
g
全局匹配模式 (global)就可以都匹配到。比如:
var re = /F+/g;
var str = '雾霾出现以后,空气极度的差,雾霾这种现象都是政府责任';
var re = /政府责任|雾霾|差/g;
str.replace(re,function($0){
console.log($0);
console.log($0.length);
var str = '';
for(var i = 0; i < $0.length; i++) {
str += "*"
}
return str;
});