zoukankan      html  css  js  c++  java
  • 正则表达式 非贪婪匹配 ?在量词后面

    1. ?正常情况下表示前面的一个字符出现一次或者0次

    2. ?放在量词后面表示非贪婪模式
      *? 重复任意次,但尽可能少重复
      +? 重复1次或更多次,但尽可能少重复
      ?? 重复0次或1次,但尽可能少重复
      {n,m}? 重复n到m次,但尽可能少重复
      {n,}? 重复n次以上,但尽可能少重复

    3. 快速使用

    #0
    l = ['ifconfig', '|', 'grep', '-A', '1', 'rmnet_data0', '|', 'grep', 'inet', 'inet', 'addr:172.252.73.5', 'Mask:255.255.255.252', '/', '#']
    print(str(l))                                     # ['ifconfig', '|', 'grep', '-A', '1', 'rmnet_data0', '|', 'grep', 'inet', 'inet', 'addr:172.252.73.5', 'Mask:255.255.255.252', '/', '#']
    res = re.compile(r"addr:(.*)',").search(str(l))
    print(res.group(1))                               #  172.252.73.5', 'Mask:255.255.255.252', '/
    res = re.compile(r"addr:(.*?)',").search(str(l))
    print(res.group(1))                               # 172.252.73.5 
    
    
    
    #1
    import re
    s='hello 1234567 world'
    res = re.match('he.*?(\d).*rld$',s)  # 1
    res = re.match('he.*(\d).*rld$',s)   # 7
    print(res.group(1))
    
    #2
    '''【11】<a target=aa>@春晚</a>&nbsp;:<a target=bb>#金牌喜剧班导师亮相#</a>&nbsp;<a target=cc">#陈佩斯回归央视#</a>&nbsp;他是带来无数欢声笑语的小品演员'''
    
    <a.*>
    # <a target=aa>@春晚</a>&nbsp;:<a target=bb>#金牌喜剧班导师亮相#</a>&nbsp;<a target=cc">#陈佩斯回归央视#</a>
    
    <a.*?>
    # <a target=aa>
    # <a target=bb>
    # <a target=cc">
    
  • 相关阅读:
    接口类和抽象类
    生成器和迭代器
    装饰器
    KMP算法(java,c++)
    java EE
    XML
    SQL语法
    单元测试
    JDBC
    SpringCloud
  • 原文地址:https://www.cnblogs.com/amize/p/13893410.html
Copyright © 2011-2022 走看看