首页 > 网站 > WEB开发 > 正文

正则学习笔记(一)

2024-04-27 14:17:07
字体:
来源:转载
供稿:网友

正则学习笔记(一)

语法和正则方法

//正则表达式 全都是操作字符串的,不能操作对象/*test方法:正则去匹配字符串,如果匹配成功就返回真,如果匹配失败就返回假;语法:正则.test(字符串)var str='abcdef';var re=/a/;console.log(re.test(str));//结果是truevar str='abcdef';var re=/gh/;console.log(re.test(str));//结果是false/d数字/D 非数字/s空格/S 非空格/w 字符/W非字符search 方法 :用正则去匹配字符串 ,如果匹配成功则返回字符串的位置,如果不成功则返回-1语法:字符串.search(正则)正则默认是区分大小写的,如果要不区分大小写要加标识i, i(不区分大小写)var str="abcdef";var re=/B/i;console.log(str.search(re)); //第一个位置 bmatch:正则去匹配字符串,如果匹配不成功,就返回匹配成功的数组,如果匹配不成功,就返回null正则默认规定:正则匹配成功就会结束,不会继续匹配,如果想全部查找加标识g,g(全局匹配)语法:字符串.match(正则)量词:匹配不确定的位数"+"至少出现一次(n>=1)*/

正则的优势:为我们偷懒指出了方向,略势我还是觉得丫太难记了

继续上一篇取字符的例子。

传统方式:做一个取数字的函数(下边代码)

var str="1212dasdad21jif009fajf090adv00";function findNum(str){    var arr=[];    var tmp='';    for(var i=0;i<str.length;i++){                var oStr=str.charAt(i);                if(oStr<='9'&&oStr>='0'){            //是数字执行下边操作            tmp+=oStr;        }else{            //非数字执行下面操作            if(tmp){                arr.push(tmp);                tmp='';    //清空变量,为遍历下面的字符串使用;            }        }                        }    //循环结束之后再次判断,因为末尾是数字的话,循环结束后只会走是数字的操作,而添加到数组里的这个动作就没有机会走了。    if(tmp){        arr.push(tmp);        tmp='';    //最后一次清空变量    }    //返回结果    return arr;}

正则做一个取数字的方法

var str="1212dasdad21jif009fajf090adv00";function fidNum(str){    var re=//d+/g;  //全局查找 数字 最少出现一次    console.log(str.match(re));    }fidNum(str);

所以结果不用说了大家都知道选什么方法了。后续继续正则学习笔记(二).................................


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表