zoukankan      html  css  js  c++  java
  • 正则表达式

    正则表达式的规则

    # 规则 字符串 从字符串中找到符合规则的内容

    字符组 : [] 写在中括号中的内容,都出现在下面的某一个字符的位置上都是符合规则的

    # [0-9] 匹配数字
    # [a-z] 匹配小写字母
    # [A-Z] 匹配大写字母
    # [8-9]
    # [a-zA-Z] 匹配大小写字母
    # [a-zA-Z0-9] 匹配大小写字母+数字
    # [a-zA-Z0-9_] 匹配数字字母下滑线

    # 65 - 90
    # 97 - 122

    元字符

    # w 匹配数字字母下滑线 word关键字 [a-zA-Z0-9_]
    # d 匹配所有的数字 digit [0-9]
    # s 匹配所有的空白符 回车/换行符 制表符 空格 space [ ]
    # 匹配换行符 回车
    # 匹配制表符 tab
    # 匹配空格
    # W D S 和w d s取反
    # [sS] [dD] [wW]是三组全集 意思是匹配所有字符
    #  表示单词的边界

    # 和转义字母相关的 元字符
    # w d s( )  W D S

    # ^ $
    # ^ 匹配一个字符串的开始
    # $ 匹配一个字符串的结束

    # . 表示匹配 除换行符之外的所有字符

    # [] 只要出现在中括号内的内容都可以被匹配
    # [^] 只要不出现在中括号中的内容都可以被匹配
    # 有一些有特殊意义的元字符进入字符组中会回复它本来的意义 : . | [ ] ( )


    # a|b 或 符合a规则的或者b规则的都可以被匹配
    # 如果a规则是b规则的一部分,且a规则比b规则要苛刻/长,就把a规则写在前面
    # 将更复杂的更长的规则写在最前面
    # () 分组 表示给几个字符加上量词约束的需求的时候,就给这些量词分在一个组

    量词

    # {n}表示 这个量词之前的字符出现n次
    # {n,} 表示这个量词之前的字符至少出现n次
    # {n,m} 表示这个量词之前的字符出现n-m次
    # ? 表示匹配量词之前的字符出现 0次 或者 1次 表示可有可无
    # + 表示匹配量词之前的字符出现 1次 或者 多次
    # * 表示匹配量词之前的字符出现 0次 或者 多次

    练习题

    # 匹配整数 d+
    # 匹配小数 d+.d+
    # 匹配小数或者整数
    # d+.d+|d+
    # d+(.d+)?
    # 匹配身份证号码 : [1-9]d{16}[dx]|[1-9]d{14}
    # [1-9]d{14}(d{2}[dX])?

    # 正则表达式的匹配特点 : 贪婪匹配
    # 它会在允许的范围内取最长的结果
    # 非贪婪模式/惰性匹配 : 在量词的后面加上?
    # .*?x 匹配任意非换行符字符任意长度 直到遇到x就停止

    # print(r'\n')
    # print(r' ')

    # 关于字符串挪到python中的转义的问题 : 只需要在工具中测试完毕,确认可以匹配上之后,挪到python中在字符串的外面加上r,r''即可

  • 相关阅读:
    Spring Boot----整合SpringCloud
    python apscheduler学习
    Java8 Lambda
    Java Json操作
    python 环境相关
    大数据 Hadoop 单机版安装
    大数据 CDH 6.2 安装
    Java8 时间API
    python 字符串方法
    《JavaScript高级程序设计》笔记——第一章到第三章
  • 原文地址:https://www.cnblogs.com/liaopeng123/p/9489519.html
Copyright © 2011-2022 走看看