• 正则表达式的说明》


    定义:是用于匹配字符串中字符组合的模式
    作用
    1.表单验证(匹配)
    2.过滤敏感词(替换)
    3.字符串中我们想要的部分(提取)

    语法
    1.定义规则

    定义正则表达式语法:

    var regexp= new Regexp(/表达式/)
    • 1
    let 变量名=/表达式/
    let ny=/加油/
    
    • 1
    • 2

    其中 / /是正则表达式字面量

    判断是否有符合规则的字符串:

    ny.test(被检测的字符串)
    ny.test('请你好好加油!') //true
    //返回一个boolean
    
    • 1
    • 2
    • 3

    2.查找

    ny.exec(被检测字符串)
    ny.exec('请你好好加油!')  //可以的到索引号(index)
    //返回的是数组,否则为null
    
    • 1
    • 2
    • 3

    元字符
    普通字符:大多数字符仅能描述本身(例:字母和数字)
    元字符(特殊字符):是一些具有特殊含义的字符,可以极大提高灵活性和强大的匹配功能(例:用户输入英文26字母,普通字符是abcdefg…,元字符则是[a-z])

    正则表达式查找地址
    正则测试工具地址

    元字符的分类
    1.边界符(表示位置,开始和结尾)
    作用:用来提示字符所处的位置
    在这里插入图片描述
    ^和$一起,表示必须式精确匹配

    /^你/.test('和你') //false
    /^你$/.test('和你') //false
    /^你$/.test('你')  //true
    
    • 1
    • 2
    • 3

    2.量词(表示重复的次数)
    作用:用来设定某个模式出现的次数
    在这里插入图片描述
    注意:都好左右两侧千万不要出现空格

    3.字符类(比如\d 表示 0~9)

    [ ]匹配字符集合

    //只要中括号里面的任意字符出现都返回true
    console.log(/[bcfg]/.test('be'))  //true
    console.log(/[bcfg]/.test('ad'))  //false
    
    • 1
    • 2
    • 3

    [ ]里面加上 - 连字符
    使用连字符 - 表示一个范围

    console.log(/^[a-z]$/.test('w')) //true
    
    • 1

    拓展:

    //腾讯QQ
    console.log(/^[1-9][0-9]{4,}$/)
    //腾讯QQ从10000
    //{4,}只对[0-9]生效
    
    • 1
    • 2
    • 3
    • 4

    [ ]里面加上^取反符号

    [^a-z]
    //表示匹配除了小写字母之外的字符
    
    • 1
    • 2

    注意:^ 符号写到中括号里面

    . 匹配除换行符之外的任何单个字符

    预定义:指的是某些常见模式的简写方式
    在这里插入图片描述
    举例:

    日期格式:^\d{4}-\d{1,2}-\d{1,2}
    // \d{4}表示在[0-9]中重复4次
    // \d{1,2}表示在[0-9]之间重复1或者2次  比如输出1或者12
    // 格式为:xxxx-xx-xx或者是xxxx-x-x
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.修饰符
    作用:修饰符约束正则执行的某些细节行为(是否区分大小写,是否支持多行匹配)
    语法:

    /表达式/修饰符
    
    • 1

    i 是单词ignore的缩写,正则匹配时字母不区分大小写
    g是单词global的缩写,匹配所有满足正则表达式的结果

    /a/i.test('a')  //true
    /a/i.test('A')  //true
    
    • 1
    • 2

    替换 replace(可以用于敏感词替换)
    语法:字符串.replace(/正则表达式/,'替换文本')
    实例:

    '请大家认真学习,时刻保持激情,激情是我们学习的动力'.replace(/激情/g,'**')
    //可以替换为《请大家认真学习,时刻保持**,**是我们学习的动力》
    //倘若有多个敏感词,可以使用格式  /敏感词1|敏感词2/
    
    • 1
    • 2
    • 3

    拓展
    括号总结
    1.大括号{}:量词符,里面表示重复次数
    2.中括号[ ]:字符集合,匹配方括号中的任意字符
    3.小括号():表示优先级

    /^abc${2}/.test('abcc')
    /^(abc)${2}/.test('abcabc')
    
    • 1
    • 2
  • 相关阅读:
    安全和监控中心管理制度
    VoLTE基础自学系列 | eSRVCC稳态呼叫切换流程
    Python提示<_io.TextIOWrapper name=‘静夜思‘ mode=‘r‘ encoding=‘utf-8‘>解决方法 Python
    Go代码格式化——gofmt的使用
    API 系列讲解之常见测试
    后端每日一题 1:说一下三次握手
    【Redis】渐进式遍历
    andriodstudio创建不了项目,如何解决?
    怎么关闭电脑广告
    2022 CSP-J2 CSP-S2 第2轮 视频及相关资料
  • 原文地址:https://blog.csdn.net/zimingyo/article/details/126614335