方法
compile 编译正则表达式
exec 检索字符串中指定的值。返回找到的值,并确定其位置
test 检索字符串中指定的值。返回true或false
var reg = /ab/g;
var str = 'ababab';
console.log(reg.lastIndex);
console.log(reg.exec(str));
console.log(reg.lastIndex);
console.log(reg.exec(str));
console.log(reg.lastIndex);
console.log(reg.exec(str));
console.log(reg.lastIndex);
console.log(reg.exec(str));
console.log(reg.lastIndex);
console.log(reg.exec(str));
console.log(reg.lastIndex);
console.log(reg.exec(str));
console.log(reg.lastIndex);
当reg不加g的时候lastIndex只有一个,他的索引值不会往后走
var reg = /ab/;
var str = 'ababab';
console.log(reg.lastIndex);
console.log(reg.exec(str));
console.log(reg.lastIndex);
console.log(reg.exec(str));
replace方法它没有访问全局的能力,它只能匹配一个
// var reg=//;
var str = 'aa';
console.log(str.replace('a', 'b')); //ba
// str.replace('a', 'b');//它没有访问全局的能力,它只能匹配一个
用正则表达式就能全匹配出来
var reg = /a/g;
var str = 'aa';
console.log(str.replace(reg, 'b')); //用正则表达式就能全匹配出来
匹配同样的四个字母
var str = 'aaaaabbbbb';
var reg = /(\w)\1\1\1/g;
匹配aabb样式的
var str = 'edbaadcewbbuonhufjjnjioedjjhyue';
//var reg = /(\w)\1/g;
var reg = /(\w)\1(\w)\2/g;
console.log(reg.exec(str));
console.log(str.match(reg));
console.log(str.search(reg));
将遇到相同的两个字符串时断开
// console.log(str.split(reg));
将AABB式的字符串反向输出,例如BBAA
var reg = /(\w)\1(\w)\2/g;
var str = 'aabb';
console.log(str.replace(reg, '$2$2$1$1'));
function函数里面的三个参数分别是$:接收到的正则表达式全局的信息,$1:是表达式1匹配的字符,$2:是表达式2匹配的字符
var reg = /(\w)\1(\w)\2/g;
var str = 'aabb';
console.log(str.replace(reg, function($, $1, $2) {
return $2 + $2 + $1 + $1 + $1 + 'abcdddd';
}));