Js:正则表达式(二)
1、匹配所有字符语法: [^]、[\s\S]、[\d\D]// 匹配所有字符 console.log(s121!.match(/[^]/g)); // [s, 1, 2,1, , !,, ] console.log(123asd.match(/[\d\D]/g)); // [ 1, 2, 3, a, s, d ] console.log(123asd .match(/[\s\S]/g)); // [ 1, 2, 3, a, s, d, ]2、i与g模式修正符定义: i-不区分大小写 g-全局匹配let hd hoududunUiUa; console.log(hd.match(/u/ig)); //[ u, u, u, U, U ] console.log(hd.replace(/u/ig, )); // hoddnia3、多行匹配修正符语法: /abc/m// 多行匹配修正符 let str #1 js,200 # #2 php,200 # #3 houdunren.com # aw1w12 #4 node.js,200 # ; let lesson str.match(/^\s*#\d\s.\s#$/gm).map(v { v v.replace(/\s*#\d\s*/, ).replace(/#/, ); [name, price] [...v.split(,)] return { name, price }; }); console.log(JSON.stringify(lesson)); // [{name:js,price:200 },{name:php,price:200 },{name:node.js,price:200 }]4、汉字与字符属性语法: /\p{L}/gu-匹配所有字符 /\p{P}/gu-匹配特殊字符 /\p{scHan}/gu-匹配中文let sc 匹配中文in1231132.com; // 匹配中文 console.log(sc.match(/\p{scHan}/gu)); //[ 匹, 配, 中, 文 ] //匹配所有字符 console.log(sc.match(/\p{L}/gu)); //[匹, 配, 中,文, i, n,c, o, m] // 匹配特殊字符 console.log(sc.match(/\p{P}/gu)); //[ , . ]5、有效率的y模式语法: /u/y - 连续地找匹配字符// 有效率的y模式 let qqStr ajs:123434343,12123232,0897231876281种你说哈看就阿克苏看; reg /(\d),?/y; reg.lastIndex 4; // 从第4位开始匹配 let qq []; while ((res reg.exec(qqStr))) { qq.push(res[1]); } console.log(qq); // [ 123434343, 12123232, 0897231876281 ]6、区间匹配语法: /[0-9]/-匹配数值0~9 /[a-z]/-匹配字母a~z// 区间匹配 console.log(asasjkl.match(/[a-z]/g)); // [a, s, a, s, j, k, l] console.log(123465.match(/[0-9]/g)); //[1, 2, 3, 4, 6, 5] console.log(1234789.match(/[7-9]/g)); //[7, 8, 9] // 注意: 只能按升序排列7、排除匹配语法: /[^ue]/gi - 全局匹配不分大小写的字符,u、e除外// 排除匹配 console.log(abcdef.match(/[^ab]/gi)); // [ c, d, e, f ] console.log(ASCBefsgf12.match(/[^ab]/gi)); // [S, C, e, f, s, g, f, 1, 2]