正则

99 阅读2分钟

正则

概念:专门用于处理字符规则的
作用:
    验证字符串:
            语法:
                正则.test(字符串)
                返回一个布尔值
                判断字符串中是否包含满足规则的部分
            例:
                var reg = /a{2}/
                var str1 = 'abc'
                var bool1 = reg.test(str1)
                console.log(bool1) // false
                var str2 = 'aabb'
                var bool2 = reg.test(str2)
                console.log(bool2) // true
            语法:
                字符串.search(正则)
                返回下标或者-1
                从字符串中找满足规则部分的下标
            例:
                var reg = /a{2}/
                var str1 = 'abc'
                var index1 = str1.search(reg)
                console.log(index1) // -1
                var str2 = 'aabb'
                var index2 = str2.search(str2)
                console.log(index2) // 0
    提取字符串:
            语法:
                正则表达式.exec(字符串)
                返回数组,数组的第一个元素是满足规则的部分。
                如果字符串中没有满足规则的,则返回null。
            例:
                var reg = /a{2}/
                var str1 = 'abaacc'
                var arr1 = reg.exec(str1)
                console.log(arr1) // ['aa']
                var str2 = 'abcde'
                var arr2 = reg.exec(str2)
                console.log(arr2) // null
            语法:
                字符串.match(正则表达式)
                返回跟exec一样
            例:
                var reg = /a{2}/
                var str1 = 'abaacc'
                var arr1 = str1.match(reg)
                console.log(arr1) // ['aa']
                var str2 = 'abcde'
                var arr2 = str2.match(reg)
                console.log(arr2) // null
                
    替换字符串:
            语法:
                字符串.replace(正则表达式,)
                返回替换后的字符串
            例:
                var str = 'abaac'
                var reg = /a{2}/
                var str1 = str.replace(reg, '66')
                console.log(str1) // 'ab66c'
语法:
    定义:
        字面量方式:
                var reg=/规则/
        构造函数方式:
                var reg=new RegExp("规则")
   组成部分:
       字符:
           普通字符:
                   普通字符串中的字符
           元字符:
                   特殊符号:
                           \d -- 表示一个任意数字
                           \w -- 表示一个任意数字、字母、下划线
                           \s -- 表示一个空格
                           .  -- 表示一个任意字符
                           \D -- 表示一个非数字字符
                           \W -- 表示一个非任意数字、字母、下划线
                           \S -- 表示一个非空格
       修饰符:
               修饰次数:
                       + -- 前面字符最少出现一次
                       ? -- 前面字符最多出现一次
                       * -- 前面字符任意次
                       {n} -- 前面字符必须出现n次
                       {n,} -- 前面字符最少出现n次
                       {n,m} -- 前面字符最少出现n次,最多出现m次
               修饰开头结尾:
                       ^ -- 规定必须以某个字符开头,放在正则最前面
                           
                       $ -- 规定必须以某个字符结尾,放在正则某位
               其他:
                       [] -- 其中的任意一个,当作一个字符看待
                       () -- 这是一个整体
                       | -- 或者
                       g -- 开启贪婪模式
                       i -- 忽略大小写
                       - -- 到
                       \ -- 转义 - 放在特殊符号去前面