• 正则 024


    一.正则表达式

      优点 灵活 功能性强 逻辑性强 

      缺点 太活 不易上手

      正则表达式是由普通字符和元字符组成的,普通字符包含大小写字母 数字 匹配普通字符直接写就行了

      元字符 是正则表达式的灵魂

      1.字符组[字母按ascii码顺序 数字还是0-9]

      2.简单元字符

        .   匹配除了换行符以外的任意字符

        w 匹配字母或数字或下划线

        s 匹配任意的空白符

        d 匹配数字

         匹配一个换行符

         匹配一个制表符

         匹配一个单词的结尾

        ^ 匹配字符串的开始

        & 匹配字符串的结尾

        W 匹配非字母或者数数字或者下划线

        D 匹配非数字

        S 匹配非空白图

        a|b 匹配字符a或者b 前者要比后者长不然匹配不出来长的.

        () 匹配括号内的表达式 也表示一个组?

        [...]  匹配字符串中的字符

        [^...] 匹配除了字符串中字符的所有字符

      3.量词   一次性匹配很多个字符 

        * 重复零次或者更多次

        + 重复一次或更多次

        ? 重复零次或一次

        {n} 重复n次

        {n,m} 重复n到m次

      4.惰性匹配和贪婪匹配

        在量词中的 * , + , {} 都属于贪婪匹配 就是尽可能多的匹配到结果 

        str : 麻花藤昨天让英雄联盟关服了

        reg : 麻花藤.*  此时匹配的是整句话   

        reg : 麻花藤.*?  此时匹配的是麻花藤

        .*?x   含义是找到下一个x为止

      5.分组

        正则中使用()进行分组 比如匹配一个相对复杂的身份证号 .身份证号分为两种 老式的有15位 新的有18位 并且新的身份证号皆为可能有x

        () 数字 获取第数字个分组内的正则,数的是小括号

      6.转义

        在正则:

          .

          元字符

          \n

        python

          r"\n"

          '\.'

          .

        

  • 相关阅读:
    多线程程序设计学习(10)Future pattern
    Stack编程队列
    JS操作JSON总结
    java并发之TimeUnit理解
    java并发之DelayQueue实际运用示例
    netty的编解码器理解(转)
    spring中@Resource和@Autowired理解
    Netty中解码基于分隔符的协议和基于长度的协议
    构建基于Netty 的HTTP/HTTPS 应用程序
    对于spring中事务@Transactional注解的理解
  • 原文地址:https://www.cnblogs.com/f-g-f/p/9769445.html
Copyright © 2020-2023  润新知