• Python 24天 正则表达式


    正则表达式是对字符串操作的一种逻辑公式. 我们一般使用正则表达式对字符串进行匹配和过滤.

    由普通字符和元字符组成

    元字符:

      1)字符组: 用[] 括起来的内容会被匹配  逐个匹配

      2)简单元字符:

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

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

        s 匹配任意的空白符

        d 匹配数字

         匹配一个换行符

         匹配一个制表符

         匹配一个单词的结尾

        ^ 匹配字符串的开始

        $ 匹配字符串的结尾

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

        D 匹配非数字

        S 匹配非空白符

        a|b 匹配字符a或字符b

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

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

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

      3)量词

      一次性匹配很多个字符

      * 重复零次或更多次

      + 重复一次或更多次

      ? 重复零次或一次

      {n} 重复n次

      {n,} 重复n次或更多次

      {n,m} 重复n到m次

      4)惰性匹配和贪婪匹配

      在量词中 * + {} 都属于贪婪匹配  可以尽可能所得得到结果

        str: 麻花藤昨天让英雄联盟关服了
        reg: 昨天.*    匹配的是:昨天让英雄联盟关服了

      .*? 表示惰性匹配 尽可能少的匹配

      .*?x的特殊含义 找到下一个x为止.

      5)分组
      在正则中使用()分组

      身份证匹配:    ^[1-9]d{14}(d{2}[0-9X])?$   新旧都可以

      手机号  :  ^(13|17|15|18)d{9}

      生日  :  ^(1d{3}|20d{2})-(((01|0[3-9]|(10|11|12))-(1[0-9]|2[0-9]|3[0-1]))|(02-(1[0-9]|2[0-9])))

      电话号:     ^[0-9](d{3}-[1-9]d{6}|d{2}-[1-9]d{7})

      网址  :    ^((https|http|ftp|rtsp|mms)://)[^s]+

      地址  :   S+市S+区S+街道S+小区S+号楼S+单元S+号

      IP  :    (2[0-5][0-5]|1[0-9][0-9]|[1-9]{2}|[1-9]).(2[0-5][0-5]|1[0-9][0-9]|[1-9]{2}|[1-9]).(2[0-5][0-5]|1[0-9][0-9]|[1-9]{2}|[1-9]).(2[0-5][0-5]|1[0-9][0-9]|[1-9]{2}|[1-9])


        







        

  • 相关阅读:
    状态线程
    C++编译 C # 调用方法
    图像算法集合
    openmp 和 thread 性能实测
    RGB转YUV 各种库的性能比较
    ipp 实现图像空间的转换
    Eigen 学习笔记
    线性代数笔记
    凸优化 笔记
    Windows系统服务器中安装Redis服务
  • 原文地址:https://www.cnblogs.com/sophie99/p/9767188.html
Copyright © 2020-2023  润新知