正则表达式
Posted afanadmin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。
一个小案例:为何要学习正则
{ let str = "asldkfjal123s23sdfs11"; let arr = []; // 找到所有的数字,并且放在一个数组里面[123,23,11]; { function getNumber(str) { let arr = []; let temp = ""; for (let i = 0; i < str.length; i++) { if (!isNaN(str[i])) { temp += str[i]; } else { if (temp !== "") arr.push(parseInt(temp)); temp = ""; } } if (temp !== "") { arr.push(parseInt(temp)); temp = ""; } return arr; } // console.log(getNumber(str)); } { // 正则匹配如下: let reg = /d+/g; let arr = str.match(reg); // console.log(arr); } }
正则表达式的两种创建方式
{ /* 正则的创建 */ // 两种创建方式 { // 1.字面量创建 // 两个杠直线就是 正则表达式里面的内容; // /g 全局匹配,找到结果之后继续查找 -> 默认的reg是查找到一个就停止查找; // + 一次或者多次 -> 1次以上 { // d 模糊匹配 let str = "abc135778sdsdf31"; let reg = /d+/g; let res = str.match(reg); // console.log(res); } { // 精确匹配 : 一般情况下,精确匹配是比较少的.. let str = "abc135778sdsdf31"; let reg = /abc/g; // 注: abc只能是字符串 在字面量中不能是变量 let res = str.match(reg); // console.log(res); } } { // 2.构造函数创建 // 两个参数 1.正则表达式内容 2.修饰符 // 1.带的需要多层转义 -> d \d { // 模糊匹配 let str = "abc135778sdsdf31"; let reg = new RegExp("\d+", "g"); let res = str.match(reg); // console.log(res); } { // 精确匹配 let str = "abc135778sdsdf31"; let reg = new RegExp("abc", "g"); let res = str.match(reg); // console.log(res); } { // 变量匹配 let str = "abc135778sdsdf31"; let abc = "1357" let reg = new RegExp(abc, "g"); let res = str.match(reg); // console.log(res); } } }
以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性