• 正则表达式——子模式


    import re
    # string = "this is a love1ly girl lovel1y"
    # pattern = re.compile(r"lovely")
    # ret = pattern.search(string)
    # print(ret.group())
    # # group()是返回匹配的整个表达式的字符串


    string = "额呵呵<span><div>床前明月光,疑是地上霜</div></span>"
    pattern = re.compile(r"<(w+)><(w+).*</(2)></(1)>")
    ret = pattern.search(string)

    print(ret.group())

    # 指返回匹配的整个表达式的第一个子模式的字符串
    # 显示结果:<span><div>床前明月光,疑是地上霜</div></span>

    print(ret.group(1))

    # group(1)表示匹配的第一个子模式的字符串,其他的同理
    # 显示结果:span

    print(ret.group(2))
    # 显示结果:div




    string = "lakdsk<span><div>醉卧沙场君莫笑</div></span>呵呵呵<a><div>古来征战几人回</div></a>哈哈哈"
    pattern = re.compile(r"<(w+)><(w+)>.*</2></1>")
    rer = pattern.search(string)

    print(rer)
    #显示结果是一个对象
    #显示结果:<_sre.SRE_Match object; span=(6, 37), match='<span><div>醉卧沙场君莫笑</div></span>'>

    print(rer.group())

    #显示结果:<span><div>醉卧沙场君莫笑</div></span>



    pattern1 = re.compile(r"(<(w+)><(w+)>.*</3></2>)")

    re1 =pattern1.findall(string)

    print(re1)

    #显示结果:[('<span><div>醉卧沙场君莫笑</div></span>', 'span', 'div'), ('<a><div>古来征战几人回</div></a>', 'a', 'div')]
    #注意:使用findall进行匹配时,有几个子模式,就在列表中显示几个子模式

  • 相关阅读:
    php计算utf8字符串长度
    php和js字符串的acsii码函数
    快速排序的php实现
    bzoj 2822 [AHOI2012]树屋阶梯 卡特兰数
    bzoj 1485 [HNOI2009]有趣的数列 卡特兰数
    bzoj 4173 打表???
    bzoj [Noi2002]Savage 扩展欧几里得
    bzoj 3505 [Cqoi2014]数三角形 组合
    bzoj 2820 莫比乌斯反演
    Travel 并查集
  • 原文地址:https://www.cnblogs.com/kuangkuangduangduang/p/10373095.html
Copyright © 2020-2023  润新知