js14正则

//第一种定义
        var regx = /^a$/
        //第二种定义
        var regx1 = new RegExp('^a$')
        //[]表示其中一个元素
        var regx2 = /^[abcdef]$/ //匹配a或b或c或d或e或f 其中一个单词
        //{}表示个数
        var regx3 = /^[abc]{2}$/ //匹配ab bc ac ba cb ca aa bb cc 意思就是abc三个元素任意两个组成的单词
        // g表示全局匹配(全局搜索所有结果 没有全局找到第一个就不找了) i表示不区分大小写
        var regx4 = /^[ab]{2}$/gi //匹配 aa ab ba bb Aa aA AA Ab aB BB Ba AB BA bA
        //使用第二种定义如果需要加上g或i关键词
        var regxObj = new RegExp('^a$', 'gi')
        //修饰符
        // +表示一个到多个
        var regx5 = /^[a]+$/ //匹配 a aa aaa aaaa....匹配一个或多个a
        // *表示0个到多个
        var regx6 = /^[ab]*$/
        //? 表示0个到一个
        var regx7 = /^a[ab]?$/ //匹配a aa ab

        //对应正则对象的方法
        // test 是否符合对应的表达式 test()里面的参数为string类型 返回结果为boolean类型
        regx7.test('a') // true
        regx7.test('aba') //false
        //exec方法 找到符合的所有结果 返回数组 没有匹配的返回null
        regx7.exec('ab')


       


        //string类型支持正则的方法
            //split截取方法
            //replace替换方法支持正则
            //seach搜索方法
            //match 正则对象的exec方法很像返回也是一个数组里面的元素为匹配的结果(返回第 一个找到的)
        var regx2 = /[abc]{2}/
        console.log(' abca '.match(regx2));
        //正则对象的方法
        //test方法判断是否有匹配的有返回true没有返回false
        //exec方法返回一个数组数组里面为匹配的结果(返回第一个找到的)
        //如果加g的话 从左往右找 找不到就不管
        var regx3 = /[abc]{2}/g
        console.log('abcabb'.match(regx3));
 
 // . 表示任意字符
        //如果要匹配点就要用\转译 ---> \.
        var reg = /./
        var str = ' '
        console.log(reg.test(str)) //true
        // \s表示空白,包括空格 换行符 tab.. \S相反 表示非空
        var regx1 = /\s/
        var regx2 = /\S/
        console.log(regx1.test(str)) //true
        console.log(regx2.test(str)) //false
        // \d表示数字 \D非数字
        var regx3 = /\s/
        var regx4 = /\S/
        console.log(regx3.test('132')) //true
        console.log(regx4.test('123')) //false
        // \w表示数字字母下划线  \W非数字字母下划线
        var regx3 = /\w/
        var regx4 = /\W/
        console.log(regx3.test('_')) //true
        console.log(regx4.test('_')) //false
        // ()这个里面没有什么意义 主要做代码的范围分割
        var regx7 = /([a][b]){2}/ //匹配的元素 abab
        console.log(regx7.test('abab'))
        // 可以直接取出括号里面的值
        console.log(RegExp.$1) //去除第一个括号的内容
        console.log(RegExp.$2) //没有第二个括号的话 拿到内容为空
        // | 或
        var regx8=/abc|bcd/ //匹配abc或bcd
        console.log(regx8.test('abc'))//true
        // 如果加了?后面的括号里的内容不能获取了 RegExp.$
        var regx9=/\w{6}/ //忽略掉了
        console.log(regx9.test('123456'))//true
        console.log(regx9.test('12345'))//false
        console.log(regx9.test('123456789'))//true
        console.log(regx9.test(''))//false
        // m换行匹配 g全局匹配 i忽略大小写9
posted @ 2022-04-07 19:42  yaoooooooooo  阅读(62)  评论(0)    收藏  举报