zoukankan      html  css  js  c++  java
  • 正则表达式使用步骤

    """
    RE使用步骤:
    1、使用compil将表示正则的字符串编译为一个pattern对象
    2、通过pattern对象提供一系列方法对文本进行查找匹配结果,一个match对象
    3、最后使用match对象提供的属性和方法获得信息,根据需要进行操作
    """


    import re

    '''
    # 查找数字
    # r表示字符串不转义
    p = re.compile(r'd+')
    # 在字符串中进行查找,按照规则p制定的正则进行查找
    # 返回结果None表示没有找到,否则会返回match对象
    m = p.match("one12twothree33456four78")

    print(m)
    '''

    # 查找数字
    # r表示字符串不转义
    """

    p = re.compile(r'd+')
    # 在字符串中进行查找,按照规则p制定的正则进行查找
    # 返回结果None表示没有找到,否则会返回match对象
    # 参数3,6表示在字符串中查找范围
    m = p.match("one12twothree33456four78",3,6)

    print(m)
    """
    # 上述代码说明的问题
    # 1,match可以输入参数表示起始位置
    # 2。查找到的结果只包含一个,表示第一个进行匹配成功的内容

    # 分成两组,组之间用空格分割
    # I 表示忽略掉大小写
    """
    p = re.compile(r'([a-z]+) ([a-z]+)',re.I)
    m = p.match("I am really love wangxiaojing")
    print(m)
    print(m.start(0))
    print(m.end(0))
    print(m.group(0))
    """


    # 查找
    # - search(str,[,pos[,endpos]]):在字符串中查找匹配,pos和endpos表示起始位置
    # findall:查找所有
    # finditer:查找,返回一个iter结果

    """
    p = re.compile(r'd+')
    m = p.search("one12two34three567four")
    print(m.group())

    rst = p.findall("one12two34three567four")
    print(type(rst))
    print(rst)
    """

    # sub替换
    # sub(rep1,str[,count])
    """
    p = re.compile(r'(w+) (w+)')
    s = "hello 123 wang 456 xiaojing, i love you"
    rst = p.sub(r'Hello world',s)
    print(rst)
    """

    # 匹配中文
    # 大部分中文内容表示范围是[u4e00-u9fa5],不包括全角标点
    """
    title = u'世界 你好,hello moto'
    p = re.compile(r'[u4e00-u9fa5]+')
    rst = p.findall(title)
    print(rst)
    """

    # 贪婪和非贪婪
    # 贪婪:尽可能多的匹配,(*)表示贪婪匹配
    # 非贪婪:找到符合条件的最小内容即可,(?)表示非贪婪
    # 正则默认使用的是贪婪匹配
    title = u'<div>name</div><div>age</div>'

    p1 = re.compile(r"<div>.*</div>")
    p2 = re.compile(r"<div>.*?</div>")

    m1 = p1.search(title)
    print(m1)

    m2 = p2.search(title)
    print(m2)







  • 相关阅读:
    Java8 Stream Function
    PLINQ (C#/.Net 4.5.1) vs Stream (JDK/Java 8) Performance
    罗素 尊重 《事实》
    小品 《研发的一天》
    Java8 λ表达式 stream group by max then Option then PlainObject
    这人好像一条狗啊。什么是共识?
    TOGAF TheOpenGroup引领开发厂商中立的开放技术标准和认证
    OpenMP vs. MPI
    BPMN2 online draw tools 在线作图工具
    DecisionCamp 2019, Decision Manager, AI, and the Future
  • 原文地址:https://www.cnblogs.com/jerryspace/p/9829060.html
Copyright © 2011-2022 走看看