zoukankan      html  css  js  c++  java
  • Python2.7-re模块

    re模块

    1、正则表达式的语法

    '.' 匹配任意字符,若指定了re.S,则可以匹配换行符
    '^' 匹配行首,即字符串的开头,若指定了re.M,会自动匹配每行开头
    '$' 匹配行尾,同上
    '*' 匹配大于等于0个的re
    '+' 匹配大于等于1个的re
    '?' 匹配0个或1个的re,此外?是非贪婪匹配的标志
    {m} 指定re的个数刚好为m个
    {m,n} 指定re的个数在m,n之间
    [] 可以在其中指定字符集,其中特殊符号也会被视作是普通字符,'^'为除字符集以外的字符
    '|' 或符号,匹配任意一个
    ('...') 若匹配到括号内的re,将其视为一个组,存在内存中
    (?:'...') 将匹配到的组不存在内存中
    (?iLmsux) 指定匹配方法
    (?P<name>'...') 指定匹配的组的名称
    (?#'...') 忽略指定的字符
    (?='...') 如果指定的字符在匹配到的字符后面,才算匹配成功,例如:Isaac (?=Asimov) will match 'Isaac ' only if it’s followed by 'Asimov'
    (?!'...') 与上面的相反,只有指定字符不在后面才匹配
    (?<='...') 指定字符在前面才匹配
    (?<!'...') 指定字符不在前面才匹配
    umber
     匹配空字符串,仅在词的开头和结尾
    B 与b相反
    d 匹配数字
    D d的补集
    s 匹配空格
    S s的补集
    w 匹配字母,数字,下划线
    W w的补集

    2、模块内容(常数,方法)

    re.compile(pattern, flags=0) 预编译正则表达式
    re.I/re.IGNORECASE 忽略大小写
    re.L/re.LOCALE 使w,W,,B,s,S根据当前作用域来判断
    re.M/re.MULTILINE 匹配多行
    re.S/re.DOTALL '.'匹配换行
    re.U/re.UNICODE 匹配unicode字符集
    re.X/re.VERBOSE 可以将正则写在多行中,并用#注释
    re.search(pattern, string, flags=0) 搜索string中第一个匹配的部分
    re.match(pattern, string, flags=0) 只从第一个字符开始匹配,若第一个不符合,就返回none
    re.split(pattern, string, maxsplit=0, flags=0) 用pattern分割字符串,返回分割后的列表,若pattern以捕获组形式,则返回包括pattern的所有字符的列表
    re.findall(pattern, string, flags=0) 找到所有符合条件的部分
    re.finditer(pattern, string, flags=0)) 以迭代器形式返回所有匹配的部分,类型为MatchObject
    re.sub(pattern, repl, string, count=0, flags=0) 执行count次repl替换string中匹配pattern的部分
    re.subn(pattern, repl, string, count=0, flags=0) 同上,只是返回结果为新字符串和替换次数的元组
    re.escape(pattern) 将pattern中的特殊符号加上转义符
    re.purge() 清空正则表达式的缓存

    3、MatchObject类

    常用方法:group(),groups(),groupdict()包含匹配结果的组,start(),end()匹配结果的组的下标,span()返回start和end的元组
    常见属性:lastindex,lastgroup,re,string

    ---------------- 坚持每天学习一点点
  • 相关阅读:
    delete
    What's an Aggregate Root?
    Mediator Pattern中介者模式
    Domain events: design and implementation
    "ISerializable" should be implemented correctly
    Package version is always 1.0.0 with dotnet pack
    CA1005: Avoid excessive parameters on generic types
    Event Sourcing pattern
    Command and Query Responsibility Segregation (CQRS) pattern
    Implementing event-based communication between microservices (integration events)
  • 原文地址:https://www.cnblogs.com/tccbj/p/7588670.html
Copyright © 2011-2022 走看看