zoukankan      html  css  js  c++  java
  • python学习笔记3----正则表达式

     正则表达式(RE)是通过re模块来实现的。

    字符匹配:

    --普通字符:

    *大多数字母和字符一般都会和自身匹配。

    --元字符:. ^ $ * + ? {}  [] | ()

    []: 

    通常用来指定一个指标集。其中的任何一个都可以进行匹配。[0-9],[a-zA-Z0-9],[a-z]

    元字符在字符集中不起作用。

    补集匹配不在区间范围内的字符。

    ^:

    通常用来指定行首。

    $:

    通常用来指定行尾。

    :

    反斜杠取消后面的元字符的特殊意思。

    反斜杠后面加上不同的字符表示不同特殊意义。

    {m,n}:

    把前面的规则重复的次数。最少的次数,重复的次数,重复m到n次。

    * :

    把前面的字符重复多次,包括0到多次。

    +: 

    前面的字符最少出现一次。

    ?:

    前面的字符出现0次或者一次。

    可以用来实现最小匹配。

    {0,}和*等同

    {1,}和+等同

    {0,1}和?等同

    正则表达式的编译:

    import re

    p= re.compile(r"^ad");

    p是一个正则表达式的对象

    p.findall("absd")

    常用方法:

    match():如果在字符串开始位置找到就返回一个对象,没有找到就返回空。

    search(): 扫描字符串,找到这个re匹配的位置。

    把soucrString中的符合正则表达式的替换成newStr.,count是替换次数。

    re.sub(re,"newStr",sourceString)

    re.subn(re,"newStr",sourceString):最后一个值表示替换的次数。

    用re来切割s:

    re.split(re, s)

    分组:

    分组一般是用小括号括起来,如果正则表达式中包含分组,则会返回分组匹配的部分,而不是返回全部正则表达式匹配的字符。

  • 相关阅读:
    支付系统整体架构
    犹太”安息日”
    JWT(JSON Web Token) 【转载】
    详解布隆过滤器的原理、使用场景和注意事项
    缓存一致性策略以及雪崩、穿透问题 【零壹技术栈】
    RPC概念及分类【转载】
    RDLC 微软报表 导出Excel时产生多个工作表 (worksheet)
    asp.net 5 (mvc 6) 获取网站的物理路径
    Asp.net 5 (MVC6) Areas 分区
    MVC6 OWin Microsoft Identity 自定义验证
  • 原文地址:https://www.cnblogs.com/gaochsh/p/6697240.html
Copyright © 2011-2022 走看看