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

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

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

    缺点:上手难,记忆性的东西比较多

    http://tool.chinaz.com/regex/ 正则表达式进行在线测试

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

      字符组:用[]进行括起来,[a-z]表示a-z所有的小写字母,[0-9]表示0-9的所有整数

      简单的元字符:  

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

    w 匹配字母下划线,数字          W匹配除非字母,数字,下划线的

    s 匹配任意的空白符                S匹配非空白

    d匹配所有的数字                    D 匹配非数字

    匹配换行符                            a|b  a或者b

    匹配所有的制表符                  () 一个组,在pycharm中表示优先级

     匹配单词的结尾                      ^ 匹配字符串的开始

    []匹配字符组内字符                   [^ ] 匹配除字符组中外的所有字符

    $匹配结尾

    量词

    *重复或者跟多次         +重复1或者跟多次

    ?重复0或者1次           {n}重复N次

    {n,m}   重复n-m次

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

    惰性匹配: 在匹配中使用 .*?就是尽可能少的匹配,可能是0或者是1

    5. 分组

    对一串有固有格式的字符串进行处理的使用,就要用上分组

    比如身份证表达的方式:^[1-9]d{14}(d{2}[0-9x])?$   首先是定义开头必须是1-9的数字,然后首字母后面要跟14位数字,把最后 三位分为一组,最后一个数字有为X的可能

    6. 转义
    在正则表达式中, 有很多有特殊意义的是元字符, 比如 和s等,如果要在正则中匹
    配正常的" "而不是"换行符"就需要对""进行转义, 变成'\'.在python中, 无论是正则表达式, 还
    是待匹配的内容, 都是以字符串的形式出现的, 在字符串中也有特殊的含义, 本身还需要转
    义. 所以如果匹配一次" ", 字符串中要写成'\n', 那么正则式就要写成成"\\n",这样就太麻烦了,这个时候我们就用到r" "这个概念,此时r" "就可以了.


  • 相关阅读:
    近期计划安排
    线段树+离散化+染色
    矩阵快速幂(共轭函数两种递推式)
    树状数组求区间最值和单点更新
    矩阵快速幂(共轭函数)
    树状数组之区间更新与查询
    Python List min()方法
    Python List max()方法
    Python List len()方法
    Python List cmp()方法
  • 原文地址:https://www.cnblogs.com/lowen107/p/9971125.html
Copyright © 2011-2022 走看看