• 正则表达式的说明》


    定义:是用于匹配字符串中字符组合的模式
    作用
    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
  • 相关阅读:
    MySQL进阶篇(2)—SQL优化、视图/存储过程/触发器
    Vue 07 Vue中的数据代理
    微信小程序--》小程序—组件通信和behavior使用
    输出司机和乘客重合的时间点
    php strtr其他语言实现
    使用git config --global设置用户名和邮件,以及git config的全局和局部配置
    AD教程 (十九)PCB板框的评估和层叠设置
    flask python 设置定时任务 flask 周期性执行任务方案
    Oracle/PLSQL: CharToRowid Function
    Makefile--自动识别编译环境(x86还是arm)进行编译
  • 原文地址:https://blog.csdn.net/zimingyo/article/details/126614335