zoukankan      html  css  js  c++  java
  • python学习(十二)python正则表达式

    正则表达式

    正则表达式常用字符

    re模块

    re.match(pattern, string, flags=0)

    '''
    re语法
    re.match(pattern, string, flags=0)
    pattern 匹配的正则表达式
    string 要匹配的字符串
    flags 标志位,用于控制正则表达式的匹配方式
    '''
    # 匹配成功re.match()方法返回一个匹配的对象,否则返回None
    import re
    print(re.match('www', 'www.baidu.com').span())   # 在起始位置匹配
    print(re.match('com', 'www.baidu.com'))  # 不在起始位置匹配

    search(pattern, string, flags=0)

    # 使用group(num)或者groups()匹配对象函数来获取匹配表达式
    '''
    1、group(num=0) :匹配的整个表达式的字符串,group()可以一次输入多个组号,在这种情况下他将返回一个包含那些组所对应的元祖
    2、groups : 返回一个包含所有小组字符串的元祖,从1到所含小组号
    '''
    # serach用法
    # serach(pattern, string, flags=0)
    a = 'foo'
    b = 'seafood'
    c = 'pccs'
    m = re.search(a,b)  # 搜索匹配字符,匹配返回信息,不匹配返回None
    print(m)
    if m is not None:
        print(m.group())
    # 返回结果
    #  <_sre.SRE_Match object; span=(3, 6), match='foo'>
    # foo

    # match()和search区别
    # re.match只匹配字符串你开始,如果字符串开始不符合正则匹配,则匹配失败,函数返回None。而re.search匹配整个字符串,直接找到一个匹配

    re.findall(pattern, string, flags=0)

    '''
    findall用法
    re.findall(pattern, string, flags=0)
    '''
    e = 'sea foo'
    f = 'sea food'
    m = re.findall(e,f)  # 进行匹配,发现匹配的返回一个列表,如果没有匹配到,则返回空列表
    print(m)
    
    代码结果:
    ['sea foo']

    finditer(pattern, string, flags=0)

    '''
    dinditer用法
    finditer(pattern, string, flags=0)
    '''
    g = '12ad34qw78'
    o = re.finditer(r'd',g)  # 返回内容存在一个迭代器中
    for i in o:
        print(i.group())

    sub(pattern, repl, string, count=0, flags=0)
    subn(pattern, repl, string, count=0, flags=0)

    a = 'David is  a test'
    b = 'exploit'
    m = re.sub('test',b,a)  # 搜索和替换,返回替换内容
    m1 = re.subn('test',b,a)    # 搜索和替换,返回替换内容+替换总数字
    print(m)
    print(m1)

    split(pattern, string, maxsplit=0, flags=0)

    # split用法
    # split(pattern, string, maxsplit=0, flags=0)
    a = 'test1:test2:test3'
    m = re.split(':',a) # 已:进行分割,并返回分割数据已列表展示
    print(m)

     结合https://www.cnblogs.com/qican/p/11122755.html学习总结 

  • 相关阅读:
    User Profile Service 应用程序的新增功能
    内容管理互操作性服务 (CMIS) 连接器概述 (SharePoint Server 2010)
    AD二次开发提示“出现了一个操作错误”的解决办法
    Excel2010与MOSS2010数据同步配置
    InfoPath2010表单IE浏览器2个“微型内嵌工具”的使用和介绍
    洗礼灵魂,修炼python(1)python简介
    洗礼灵魂,修炼python(2)python安装和配置
    C语言标准定义的32个关键字
    【学习笔记】.NET知识体系结构
    【读】自定义博客园皮肤:暗色流体响应式布局
  • 原文地址:https://www.cnblogs.com/jiliangceshi/p/13215079.html
Copyright © 2011-2022 走看看