字面意思理解正则表达式
我的理解数组
var str = '(:match_product_num-1)*30'
复制代码
工具表明 test()、search()、replace()、match()、split()bash
test()函数
正则表达式.test(str)工具
根据返回结果能够利用test()方法来作为判断条件ui
var str = '374829348791';
var re = /\D/; // \D表明非数字
if ( re.test(str) ) {
// 返回true,表明在字符串中找到了非数字。
console.log('不全是数字');
} else {
console.log('全是数字');
}
复制代码
search()spa
字符串.search(正则表达式)3d
根据返回结果能够利用search()方法来查找某一个字符在字符串中的位置code
var str = 'abcdef';
// i——ignore(正则中默认是区分大小写的
// 若是不区分大小写的话,在正则的最后加标识 i )
var re = /B/i;
console.log( str.search(re) );
复制代码
match()字符串
字符串.match(正则表达式)
例子:在下列字符串中找出指定格式的全部数字,以下找到 123,54,33,879
var str = 'haj123sdk54hask33dkhalsd879';
var re = /\d+/g;
var result = str.match(re)
console.log (result)
// [123,54,33,879]
复制代码
replace()
字符串.replace(正则表达式,新的字符串/回调函数)
例子:敏感词过滤,好比 我爱北京天安门,天安门上太阳升。------我爱*****,***上太阳升。 即北京和天安门变成号,
var str = "我爱北京天安门,天安门上太阳升。";
var re = /北京|天安门/g;
var str2 = str.replace(re,'*');
console.log (str2)
//我爱**,*上太阳升
复制代码
显然上面不符合要求
var str = "我爱北京天安门,天安门上太阳升。";
var re = /北京|天安门/g;
var str2 = str.replace(re,function(str){
console.log(str); // 北京 天安门 天安门
var result = '';
for(var i=0;i<str.length;i++){
result += '*';
}
return result; //因此搜索到了几个字就返回几个*
});
console.log (str2)
//我爱*****,***上太阳升
复制代码