• 正则 : 模式


    1. 模式

    1.0 回溯

      贪婪模式和懒惰模式都会进行回溯;
      匹配两次相关的字符时,匹配到不符合要求的字符后,这个字符才算匹配完,然后继续匹配下一个字符;
      比如:xy{1,3}z
      样本:xyyyz
      在匹配该样本时,无论贪婪模式还是懒惰模式,都需要匹配到z后才能知道y字符匹配完成,才会继续匹配表达式中的z字符
    

    1.1 贪婪模式

      默认模式就是贪婪模式,正则会在满足要求的情况下尽可能多的匹配字符知道匹配到不符合要求的字符为止;
    

    1.2 懒惰模式

      在满足要求的情况下尽可能多的匹配字符知道匹配到不符合要求的字符为止;
      在量词后加?即表示懒惰模式
    

    1.3 独占模式

      在满足要求的情况下尽可能多的匹配字符,如果匹配失败就结束;
      在量词后加+即表示独占模式
    

    2. 匹配模式

      通过模式修饰符(?模式符号)来表示正则的匹配模式,使用时将执行的模式修饰符放在指定的正则前面即可。
    

    2.1 不区分大小写

      (?i),Insensitive : 不敏感
    
      所有字符不区分大小写,在正则最前面添加(?i)即可
    

      部分字符不区分大小写,在需要不区分大小写的部分添加(?i),再用()将这部分括起来
      ((?i)baby)Come
      表示 baby 不区分大小写, Come 区分大小写
      ![](https://img2020.cnblogs.com/blog/1294391/202007/1294391-20200705201901417-251981112.png)
    
      不区分大小写,但是第二次匹配的格式与第一次一致
       ![](https://img2020.cnblogs.com/blog/1294391/202007/1294391-20200705201623915-160856864.png)
    

    2.2 点号通配模式

      *可以匹配所有字符,包括换行符
      (?s)表示点号通配模式
    

    2.3 多行匹配模式

      默认情况下,^匹配整个文本的开头,$匹配整个文本的结尾
    

      (?m), 表示多行匹配模式,会匹配每一行的开头和结尾
    

    2.4 注释模式

      给正则表达式添加注释
      (?w comment)
    

  • 相关阅读:
    oracle 查询 主机名和对应的IP地址
    mysql 常用命令
    linux 下 mysql-5.5.8 安装
    oracle批量插入数据(测试)
    Oracle数据库查询优化(上百万级记录如何提高查询速度)
    针对分区表一个月3个分区定期清理脚本
    C语言中%p,%u,%lu都有什么用处
    MAC下查看环境变量的值的方法
    Mac 终端 Linux 命令总结(简单命令)
    TypeScript学习-TypeScript环境配置
  • 原文地址:https://www.cnblogs.com/virgosnail/p/13251576.html
Copyright © 2020-2023  润新知