zoukankan      html  css  js  c++  java
  • 正则学习笔记(一)

    语法和正则方法

    //正则表达式 全都是操作字符串的,不能操作对象
    /*
    test方法:正则去匹配字符串,如果匹配成功就返回真,如果匹配失败就返回假;
    
    语法:正则.test(字符串)
    
    var str='abcdef';
    var re=/a/;
    console.log(re.test(str));//结果是true
    
    
    var 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)); //第一个位置 b
    
    match:正则去匹配字符串,如果匹配不成功,就返回匹配成功的数组,如果匹配不成功,就返回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);

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

  • 相关阅读:
    百度百科目录导航树小插件
    Docker for windows部署mysql挂载数据卷
    ASP.NET CORE 2.0 不小心踩得坑
    获取MVC中Controller下的Action参数异常
    DataTableToList
    svn禁止提交的文件
    plush
    解决端口号被占用的问题
    vue-router
    vue-layer
  • 原文地址:https://www.cnblogs.com/ollie-sk8/p/4073676.html
Copyright © 2011-2022 走看看