c_正则
Posted myniu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_正则相关的知识,希望对你有一定的参考价值。
字符模板
- * 0次到多次
- + 1次到多次
- ? {0,1} 零次到一次
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]
以上是关于c_正则的主要内容,如果未能解决你的问题,请参考以下文章