正则表达式

正则表达式

        正则表达式的概述

            正则表达式(Regular Expression)是一个描述字符模式的对象, 用于对字符串进行匹配, 一般用在有规律
            的字符串匹配中;常用于表单验证以及相关的字符串匹配

        正则对象的声明

            1.使用//来声明(常用的)

                var regx = /a/ //表示匹配a
                //字符串支持正则的方法 replace split search match
                var str = 'abcdef'
                console.log(str.match(regx));
                regx = /a/i
                console.log('ABC'.match(regx));

            2.使用new关键词来声明

                //使用new关键词 参数一是匹配的对应的正则表达式 参数二模式
                //i表示不区分大小写 g表示全局搜索
                var regx1 = new RegExp('a','i')
                var str1 = 'ABC'
                console.log(str1.match(regx1));

        模式修饰

            g 全局搜索
            i 不区分大小写
            m 换行模式

        正则匹配的元字符

            [] 表示里面任意的一个元素
            ^ 表示开头
            $ 表示结尾
            {} 表示个数
                
var regx2 = /[a-z]{6}/ //表示6个小写的字母
regx2 = /[a-z]{0}/ //表示0个字母
regx2 = /[a-z]{1,3}/ //表示1个到3个
regx2 = /[a-z]{1,}/ //表示1个到无穷个

 

            {n} 表示n个
            {n,m} 表示n个到m个
            {n,} 表示n个到无穷个
            + 表示一个到多个 {1,}
            * 表示0个到多个 {0,}
            ? 表示0个到一个 {0,1}
            . 表示所有的内容(包括中文字符)
            \w 表示对应的字母数字下滑线 \W 就是相反的 不是字母数字下滑线
            \d 表示数字 \D表示非数字
            \s 表示空白字符串(回车 制表 空格) \S就是相反的 不是空白字符
            () 分组
            | 或者
            转义 \
               
                //匹配 ? * + .等元字符 转义\
                var regx10 = /^[?]$/
                console.log('?'.match(regx10));
                var regx10 = /^[*]$/
                console.log('*'.match(regx10));
                //用转义字符来
                var regx10 = /^\*$/
                console.log('*'.match(regx10));
                var regx10 = /^\.$/
                console.log('.'.match(regx10));            

 

        正则的检测方法

            test 测试 返回一个boolean类型值(是否匹配)

                var regx = /\w/
                console.log(regx.test('abc')) //true        

            exec 执行 返回给你一个对应的匹配的数组(如果有就返回一个数组)

                var regx = /\d/
                console.log(regx.exec('123')) //[1,2,3]    

        字符串支持正则的4个方法

            split 切割

                var str = "This is a Box box BoX";
                var splitArr = str.split(/b/i);
                console.log(splitArr.length);    

            replace 替换         

                var replaceStr = str.replace(/box/gi, "xxx");
                console.log(replaceStr);    

            search 查找

                var searchIndex = str.search(/box/i);
                console.log(searchIndex);        

            macth 匹配

                var matchArr = str.match(/box/gi);
                console.log(matchArr);    

 

posted @ 2022-08-10 20:16  一对7  阅读(21)  评论(0编辑  收藏  举报