zoukankan      html  css  js  c++  java
  • 正则学习

    正则

    正:正确 则:规则 正则就是正确的规则 处理字符串的一种规则
    处理1 正则匹配 验证当前字符串是否符合该规则的子串
    ​ 处理2 正则捕获 获取到符合规则的字符

    正则定义

    1正则字面量

    var reg = /d/g;

    2new创建

    var reg2 = new RegExp("d","g");

    正则 元字符 修饰符

    修饰符

    //这里的符号是修饰符

    修饰符 i

    ​ignoreCase 忽略大小写

    修饰符 g

    ​global 全局匹配

    修饰符 m

    multiline 多行匹配

    元字符

    /里面的符号就叫做元字符/

    特殊的元字符

    d 0~9任意一个数字
    D 非0~9之间的任意字符
    w 字母数字下划线
    W 非字母数字下划线
    s 匹配任意一个空白字符(包括制表符)
     匹配边界符 "hello-world" hello的左边界符是"右边界符是- world左边界符是- 右边界符是"
    匹配一个换行符号
    叫做转义字符
    1.把普通的字符转换为特殊的字符
    2.把特殊的转化为普通的 例如把. 转化为小数点.
    . 表示出了 之外的任意字符
    ^ 以某个字符开始
    $以某个字符结尾
    a|b a或者b任意一个
    [158]不是一百五十八 是1或者5或者8 任意选一个
    [abc] a或者b或者c任意一个
    [^abc]出了a或者b或者c之外的任意一个
    [a-z]表示a到z中任意一个字母
    [0-9]0到9之间任意一个数字 等价于d
    [^a-z]不是a到z之间任意的字母
    ()分组
    (?:)当前分组只匹配不捕获
    (?=)正向预查
    (?!)反向预查

    量词元字符

    (*) 出现零次到多次 等价于{0,}
    ? 出现零次到一次 等价于{0,1}
    +出现一次到多次 等价于{1,}
    {m}出现m次
    {m,}出现至少m次
    {m,n}出现m~n次

    普通元字符

    /123/123就是普通的

    中括号细节

    [.]中括号里面的字符绝大多数已经只是一个普通的字符了 失去了特殊字符的含义了
    [d]还是表示0-9的任意数字
    中括号出现的两位数 不是数学的两位数 是两个符号 是两个字符

    正则方法

    reg.exec() 字符串中正则的匹配项
    匹配到的是一个数组
    0 是捕获的内容
    index 是捕获的索引
    input 是被检测的字符串
    执行一次exec方法只能捕获到第一个匹配的 正则捕获懒惰性
    正则捕获懒惰性的原因就是lastIndex属性不变
    要想改变正则捕获懒惰性,只能在正则后面加修饰符g
    reg.test()测试字符串是否匹配 匹配返回true 不匹配返回false

  • 相关阅读:
    [RxSwift教程]14、其他操作符:delay、materialize、timeout等
    [RxSwift教程]13、连接操作符:connect、publish、replay、multicast
    Java虚拟机类加载机制及双亲委派模式分析
    面试系列-如何设计一个类
    谈谈 MySQL 的 JSON 数据类型
    Java 多线程编程(2-异步中包含同步)
    还堵在高速路上吗?带你进入Scratch世界带你飞
    SQL Server SSIS相关介绍
    SQL Server开启READ_COMMITTED_SNAPSHOT
    SqlServer中select语句引起的死锁
  • 原文地址:https://www.cnblogs.com/my466879168/p/10330353.html
Copyright © 2011-2022 走看看