标签:基础 内容 成功 bcd 参数 str console 执行 input
var str="0abcde0123";
var reg1 = new RegExp(‘0‘, ‘g‘);
// 等价于
var reg2 = /0/g;
// 正则.test(字符串) ,若查找到返回true,反之返回false.
console.log(reg1.test(str)); //true
console.log(reg2.test(str)); //true
//字符串.match(正则) 成功就返回匹配到的内容(正则),都是字符串的方法
console.log(str.match(reg1)); //["0", "0"]
console.log(str.match(reg2)); //["0", "0"]
//字符串.replace(正则,新的字符串/回调函数)(在回调函数中,第一个参数指的是每次匹配成功的字符)
console.log(str.replace(reg1,"k")); //kabcdek123
//匹配到一次就执行一次回调
var len=0;
var newstr=str.replace(/[123456789]/g,function(a){
if(a<3){
len+=1;
}
});
console.log(len); //2
//search() :在字符串搜索符合正则的内容,搜索到就返回第一次出现的位置
// 字符串.search(正则)
console.log(str.search(/[123456789]/g));// 7(1的下标为7) 找到一个就不会继续找了(g没有作用) 找不到返回-1
console.log(str.search(/[qw]/g));//-1 找不到返回-1
//没有gg的情况下
var s1="12aabbcc3";
var r1=/[123]/;
//返回一个数组 这个数组有一些特殊的属性
console.log(r1.exec(s1));//["1", index: 0, input: "12aabbcc3", groups: undefined]
console.log(r1.exec(s1));//["1", index: 0, input: "12aabbcc3", groups: undefined]
console.log(r1.exec(s1).length);//1
console.log(r1.exec(s1)[0]);//1
console.log(r1.exec(s1).index);//0
console.log(r1.exec(s1).input);//12aabbcc3
console.log(Array.isArray([]));//true 是数组
console.log(Array.isArray(r1.exec(s1)));//true 是数组
//有gg的情况下
var s2="12aabbcc3";
var r2=/[123]/g;
console.log(r2.exec(s2));//["1", index: 0, input: "12aabbcc3", groups: undefined]
//有g的情况下 第二次exec是在第一次exec的基础之上执行的 (从第一次找到的那个之后开始找)
console.log(r2.exec(s2));//["2", index: 1, input: "12aabbcc3", groups: undefined]
//有gg的情况下
var s3="12aabbcabc3";
var r3=/(a)(b)/g;
console.log(r3.exec(s3));//["1", index: 0, input: "12aabbcc3", groups: undefined]
//有g的情况下 第二次exec是在第一次exec的基础之上执行的 (从第一次找到的那个之后开始找)
console.log(r3.exec(s3));//["2", index: 1, input: "12aabbcc3", groups: undefined]
标签:基础 内容 成功 bcd 参数 str console 执行 input
原文地址:https://www.cnblogs.com/myniu/p/11756226.html