正则

正则:

用来描述或者匹配一系列符合某种规则的字符串

作用:
  • 数据验证
  • 内容检索
  • 内容替换
  • 内容过滤
创建正则对象:
  • 通过实例化对象

    let reg = new RegExp("正则表达式","模式修正符");
    
    • 常用的模式修正符
      • g 全局
      • i 不区分大小写
      • m 换行,多行
    • 正则对象的常用方法
      • test(str) 检测正则对象是否能够匹配str 返回值true||false
      • exec(str) 检测正则对象是否能够匹配str 如果能匹配返回一个拥有特殊属性的数组,如果不能返回null
  • 通过字面量的方式

    let reg = /正则表达式/模式修正符   正则对象   其中//代表定界符
    
正则表达式:

使用场景:1、正则对象 2、str.split(正则对象) 3、replace(正则对象,替换的内容)

4、str.search(正则表达式)

  • 原子:正则表达式中最小的一个内容

    \d   0-9的数字
    \w   数字、字母、下划线
    \s   空白、\n  \r  \t
    \D   除了0-9以外的字符
    \W   除了数字、字母、下划线以外的字符
    \S   除了空白以外的字符
    
  • 原子表:[]

    [a-c]   a-c
    [a-z]   小写a-z
    [A-Z]   大写A-Z
    [a-zA-Z]  英文字母大写+小写
    [a-zA-Z0-9]  数字字母下划线
    
  • 元字符

    • . 所有字符
    • | 或
  • 原子组:() 可以进行存储和调用

    默认存储在内存中,可以使用\1 \2 等方式调用

    (?: )可以使原子组不在内存中存储,无法被调用

    let str1 = "山西优逸客"
    let str2 = "陕西优逸客"
    let reg = /(陕西|山西)优逸客/g
    
    let str = "<div>hellow</div>"
    let reg = /<(div)>hellow<\/\1>/g
    
    let str = "<div>hellow-hellow</div>"
    let reg = /<(div)>(hellow)-\2<\/\1>/g
    
  • 正则中的数量:贪婪原则

    • * 0个或多个 >=0
    • + 1个或多个 >=1
    • ? 0个或1个
    • {num} 限制num个
    • {15,18} 15到18
    • {6,} 6个或多个
  • 吝啬原则:尽可能少取

    • *? 0个或多个 >=0
    • +? 1个或多个 >=1
    • ?? 0个或1个
    • {num,}? 限制num个
    • {15,18}? 15到18
    • {6,}? 6个或多个
  • 边界判断

    ^ 开始

    $ 结束

    \b 单词的边界

    \B 非单词边界

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值