Match
带g修饰符
var str = '<text>Js</text><text>正则</text>';
var reg = /<\w+>(.*?)(<\/\w+>)/g;
console.log(str.match(reg));
console.log(str.match(reg));
不带g修饰符
var str = '<text>Js</text><text>正则</text>';
var reg = /<\w+>(.*?)(<\/\w+>)/;
console.log(str.match(reg));
console.log(str.match(reg));
exec
带g修饰符
var str = '<text>Js</text><text>正则</text>';
var reg = /<\w+>(.*?)(<\/\w+>)/g;
console.log(reg.exec(str));
console.log(reg.exec(str));
console.log(reg.exec(str));
console.log(reg.exec(str));
不带g修饰符,此时与match不带g修饰符一模一样
var str = '<text>Js</text><text>正则</text>';
var reg = /<\w+>(.*?)(<\/\w+>)/;
console.log(reg.exec(str));
console.log(reg.exec(str));
console.log(reg.exec(str));
console.log(reg.exec(str));
test
var str = '<text>Js</text><text>正则</text>';
var reg = /<\w+>(.*?)(<\/\w+>)/g;
console.log(reg.test(str));
console.log(reg.test(str));
console.log(reg.test(str));
console.log(reg.test(str));
带g修饰符
不带g修饰符
replace
var str = '天气<text>Js</text><text>正则</text>撒旦';
var reg = /<\w+>(.*?)(<\/\w+>)/g;
var result=str.replace(reg,'哈')
console.log('======str',result);
带g修饰符,替换所有
不带g修饰符,只替换一次
带g修饰符配合function,注意参数的值
var str = '<text>Js</text><text>正则</text>';
var reg = /<\w+>(.*?)(<\/\w+>)/g;
var result=str.replace(reg,function($1,$2,$3,$4,$5,$6){
console.log($1,$2,$3,$4,$5,$6)
return '哈';
})
console.log('======str',result);
不带g修饰符配合funciton,只替换一次
search
带与不带g修饰符都一样
var str = 'abc<text>Js</text><text>正则</text>';
var reg = /<\w+>(.*?)(<\/\w+>)/g;
var result=str.search(reg)//如果没有查到,是-1
console.log('======result',result);