• day21 正则表达式


    正则表达式
    简单的范围的字符组
    0-9 匹配所有的数字
    a-z 匹配所有的小写字母
    A-Z 匹配所有的大写字母
    A-Za-z 匹配所有的字母

    字符
    . 换行符以外的任意字符
    w word 匹配数字,字母,下划线
    s space 匹配所有的空格符
    d digit 匹配数字

    W word 匹配非数字,字母,下划线
    S space 匹配非所有的空格符
    D digit 匹配非数字

    匹配换行符
    tab 匹配制表符

    ^ startwith 匹配字符串的开始,位置永远在最前
    $ endswith 匹配字符串的结尾,位置永远在最后
    ^ $两个一起用可以约束中间的所有字符,但是要求全部完全匹配
    | 或 从左向右,匹配上了就不匹配了,因此长的放在前面
    ab|abc 先匹配ab,后面有abc也不会被选中

    量词 量词放在后面只约束前面一个的要求
    * 重复零次或更多次
    + 重复一次或更多次,重复一次得到的结果就是单字符。
    ? 重复零次或一次
    如果放在量词后面表示非贪婪匹配,匹配最少
    默认是贪婪匹配,匹配到最多
    表示惰性匹配的时候会缓存后面一位表示结尾的指令。比如.*?x 表示取到x前面一个字符
    放在分组前面,取消分组优先
    {n} 重复n次
    {n,} 重复n次或更多次
    {n,m} 重复n到m次

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

    分组
    () 对整体的式子进行量词约束
    在split的时候分组会保留被分割的字符
    在findall的时候,会优先匹配分组内的内容
    若不想优先,可以使用(?:)取消分组优先级

    转义字符
    python 里面的转义字符用 r''

    flags
    re.I(IGNORECASE)忽略大小写,括号内是完整的写法
    re.M(MULTILINE)多行模式,改变^和$的行为
    re.S(DOTALL)点可以匹配任意字符,包括换行符
    re.L(LOCALE)做本地化识别的匹配,表示特殊字符集 w, W, , B, s, S 依赖于当前环境,不推荐使用
    re.U(UNICODE) 使用w W s S d D使用取决于unicode定义的字符属性。在python3中默认使用该flag
    re.X(VERBOSE)冗长模式,该模式下pattern字符串可以是多行的,忽略空白字符,并可以添加注释
  • 相关阅读:
    字符串的排列
    二叉搜索树与双向链表
    复杂链表的复制
    二叉树中和为某一值的路径
    二叉搜索树的后序遍历序列
    从上往下打印二叉树
    python系统编程(一)
    python网络编程(十三)
    python网络编程(十二)
    python网络编程(十一)
  • 原文地址:https://www.cnblogs.com/shijieli/p/9714310.html
Copyright © 2020-2023  润新知