zoukankan      html  css  js  c++  java
  • 正则表达式之match、search、findall、split、sub

    import re 

    re.match()   #从头匹配

     # 无分组
            r = re.match("hw+", origin)
            print(r.group())     # 获取匹配到的所有结果
            print(r.groups())    # 获取模型中匹配到的分组结果
            print(r.groupdict()) # 获取模型中匹配到的分组结果
    
     # 有分组
    
            # 为何要有分组?提取匹配成功的指定内容(先匹配成功全部正则,再匹配成功的局部内容提取出来)
    
            r = re.match("h(w+).*(?P<name>d)$", origin)
            print(r.group())     # 获取匹配到的所有结果
            print(r.groups())    # 获取模型中匹配到的分组结果
            print(r.groupdict()) # 获取模型中匹配到的分组中所有执行了key的组

    re.search()  #在字符串的全局匹配,匹配第一次出现的符合规则的字符串

     # 无分组
    
            r = re.search("aw+", origin)
            print(r.group())     # 获取匹配到的所有结果
            print(r.groups())    # 获取模型中匹配到的分组结果
            print(r.groupdict()) # 获取模型中匹配到的分组结果
    
     # 有分组
    
            r = re.search("a(w+).*(?P<name>d)$", origin)
            print(r.group())     # 获取匹配到的所有结果
            print(r.groups())    # 获取模型中匹配到的分组结果
            print(r.groupdict()) # 获取模型中匹配到的分组中所有执行了key的组

    re.findall()   #将匹配到的所有内容都放置在一份个列表中

     # 无分组
            r = re.findall("aw+",origin)
            print(r)
    
     # 有分组
            origin = "hello alex bcd abcd lge acd 19"
            r = re.findall("a((w*)c)(d)", origin)
            print(r)

    re.split()

    # 无分组
            origin = "hello alex bcd alex lge alex acd 19"
            r = re.split("alex", origin, 1)
            print(r)
    
    # 有分组
            
            origin = "hello alex bcd alex lge alex acd 19"
            r1 = re.split("(alex)", origin, 1)
            print(r1)
            r2 = re.split("(al(ex))", origin, 1)
            print(r2)

    re.sub()

     # 与分组无关
    
            origin = "hello alex bcd alex lge alex acd 19"
            r = re.sub("aw+", "999", origin, 2)
            print(r)
  • 相关阅读:
    (转)CentOS 6.5下Redis安装详细步骤
    (转)FastDFS_v5.05安装配置
    Mybatis 动态获取字段值(不需要创建javabean)
    Apache+tomcat集群配置
    Get Started and Make Progress in Machine Learning
    NLTK 模块不完全介绍
    python __future__
    python __init__.py和__all__
    自然语言处理
    Python搜索路径
  • 原文地址:https://www.cnblogs.com/huangguabushihaogua/p/9354934.html
Copyright © 2011-2022 走看看