正则表达式

正则表达式
        <!--
            g:表示全局
            i:表示不区分大小写
            m:表示多行
            d:表示数字
            D:表示非数字
            s:表示空格
            S:表示非空格
            w:表示字符
            W:表示非字符
        -->
            (1):正则表达式的创建
                let t = new RegExp('cat' , g) ;
                
                let t = /cat/g ; 
            
            (2):正则表达式中的方法
                1):test() ---- 正则.test(字符串)
                <!--
                    正则去匹配字符串,匹配成功返回真,匹配失败返回假
                -->
                let t = /cat/g ; 
                let str = 'catStr' ; 
                console.log(t.test(str)) ; true
                
                2):search() --- 字符串.search(正则)
                <!--
                    正则去匹配字符串,匹配成功返回字符串的位置,
                    匹配失败返回-1
                -->
                let t = /cat/g ; 
                let str = 'catStr' ; 
                console.log(str.search(t));  0 
                
                3):match() --- 字符串.match(str) ; 
                <!--
                    正则去匹配字符串,匹配成功返回数组,
                    匹配失败返回null
                -->
                let t = /t/g ; 
                let str = 'catStr' ; 
                console.log(str.match(t)); ['t','t']
                
                4):replace() --- 字符串.replace(正则 , 新字符串/回调函数)
                <!--
                    正则去匹配字符串,匹配成功的字符替换原字符
                -->
                <!--
                    回调函数
                    function(sub,child1,child2){
                        sub:匹配成功的字符串
                        child1:第一次匹配的字符串
                        child2:第二次匹配的字符串(没有则显示child1的位置)
                    }
                -->
                let str = 'hhaa2ha' ; 
                let reg = /h/g; 
                str = str.replace(reg , '**') ; 
                console.log(str); ****aa2**a
                -------------------------------
                let str = '2018.7.1' ; 
                let reg = /(\d+)(\.)/g; 
                str = str.replace(reg , function (sub,chidl1,child2) {
                    console.log(sub,chidl1,child2);  
                    <!--
                        sub:2018.  7.
                        child1:2018 7
                        child2: .
                    -->
                }) ; 
        (3):正则表达式中的默认行为
            1):区分大小写(/reg/i; 不区分大小写)
            
            2):量词{min[,max]}
                <!--
                    最少出现min次
                    最多出现max次
                    + 相当于{1,} 至少出现1次
                    ? 相当于{0,1} 出现0次或者1次
                    * 相当于{0,} 至少出现0次
                -->
            
            3):|(或的意思)
            let reg = /a|b/g ; 
            <!--匹配字符a或者b-->
            
            4):() 匹配子项(分组操作)
            
            5):字符类:一组相似的元素
                <!--
                    [a-z0-9A-Z] : a-z,0-9和A-Z
                -->
                
            6):^(排除)
                <!--
                    ^放在最前面表示开始
                    $放在最后面表示结束
                -->
        (4):几种常见正则的匹配
            <!--邮箱-->
            let reg = /^[a-z1-9A-Z]+@[a-z1-9]+(\.)[a-zA-Z]{2,4}$/;
            <!--手机号码-->
            let reg = /^1[0-9]{10}$/;
            <!--检验首尾空格-->
            let reg = /^\s+|\s$/;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值