• 美国发起贸易战,我们要让世界知道美元、美债并不可靠 2019-06-05
  • 紫光阁中共中央国家机关工作委员会 2019-05-31
  • 监察体制改革后 湘西半年72名公职人员主动交代问题 2019-05-12
  • 媒体宣传报道重庆日报 王国平:扮靓重庆两江四岸” 让城市有机更新 2019-04-26
  • 我相信“交警雨中护送高考生”是真,“交警雨中护送高考生”反被该高考生家长投诉是假。 2019-04-16
  • 14名消防员日巡逻28公里 洗冷水澡 2019-04-10
  • 靶壕有了“蓝军”,百发百中的“神枪手”练起来 2019-04-10
  • 不是秀强大了,别人就会来做朋友,这逻辑不对 2019-04-01
  • 候选企业:中国石油呼和浩特石化公司 2019-03-26
  • 航天员沙漠野外生存训练完美收官!为第一天团打call 2019-03-25
  • 请问,建立市场经济后,原计划经济哪里去?改革后,我们还在实行计划经济,为何没有提及? 2019-03-25
  • 构建年轻干部梯次培养链 2019-03-19
  • 孙实的专栏作者中国国家地理网 2019-03-15
  • 湖南师范大学举行研究阐释党的十九大精神国家社科基金重大专项学术研讨会 2019-03-15
  • [雷人]蠢货!土地处于不同的城市和地段,关联的资源不一样,价值也不一样。不然给咱俩同样面积的土地,咱的在北上广深,你的在边远山区,你干么? 2019-03-08
  • 频道栏目
    神奇公式秒杀全国11选5 > 程序开发 > Web开发 > Python > 正文
    Python正则表达式学习之match和search的实例
    2018-07-27 14:46:06         来源:jeekmary的博客  
    收藏   我要投稿

    怎么使用,怎么返回什么

     神奇公式秒杀全国11选5 www.2zfa.com 
    import re
    
    if __name__ == '__main__':
     bt = 'bat|bet|bit'
     m = re.match(bt, 'bet')
     if m is not None:
      result = m.group()
      print(result)
    
     m = re.match(bt, 'batbet')
     if m is not None:
      result = m.group()
      print(result)
    
     m = re.match(bt, 'ggbet')
     if m is not None:
      result = m.group()
      print(result)
    # 控制台打印出来的结果为:
    bet
    bat

    从上面的信息来看,python的 re ??橹械?match方法这种用法只能匹配出字符串开始是否包含指定的部分,而且只读取返回的结果只有一条数据,不知道大家理解了没有,没有理解可以将上面的代码直接复制运行,当然这句话也不完全对,上面代码如果换成这样的话就说的不对了

     bt = '(bat).(bet).(bit)'
     m = re.match(bt, 'batmbetubit')
     if m is not None:
      result = m.group(3)
      print(result)

    接下来一起看下 search

     bt = 'bit'
     m = re.search(bt, 'hfgkfkjbit')
     if m is not None:
      result = m.group()
      print(result)

    re中的search这个方法的就可以从一整句中查询是否包含需要的部分,而不仅仅的是查找开头有没有

     a = "123abc456"
     print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(0))  # 123abc456,返回整体
     print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(1) ) # 123
     print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(2)) # abc
     print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(3))  # 456
     print("-"*50)
     m = "(bet)...(bat)"
     result = re.search(m, "betljhbat")
     print(result.group(0))  # 返回整体
     print(result.group(1))  # 返回bet
     print(result.group(2))  # 返回bat

    总的来说 match和search的功能绝大部分是相同的,不同的部分在于search是在整体搜索,而match是从开始搜索,其他部分基本相同

    上面的例子要注意理解group这个,group是分组的意思,正则里面的小括号表示获取当前的值并返回成元组通过group来获取,一般第一个元素是整体元素也就是整个字符串

    点击复制链接 与好友分享!回本站首页
    上一篇:python库下使用pandas的实例教程
    下一篇:Python格式化字符串的操作实例讲解
    相关文章
    图文推荐
    点击排行

    关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 神奇公式秒杀全国11选5

    版权所有: 神奇公式秒杀全国11选5--致力于做实用的IT技术学习网站

  • 美国发起贸易战,我们要让世界知道美元、美债并不可靠 2019-06-05
  • 紫光阁中共中央国家机关工作委员会 2019-05-31
  • 监察体制改革后 湘西半年72名公职人员主动交代问题 2019-05-12
  • 媒体宣传报道重庆日报 王国平:扮靓重庆两江四岸” 让城市有机更新 2019-04-26
  • 我相信“交警雨中护送高考生”是真,“交警雨中护送高考生”反被该高考生家长投诉是假。 2019-04-16
  • 14名消防员日巡逻28公里 洗冷水澡 2019-04-10
  • 靶壕有了“蓝军”,百发百中的“神枪手”练起来 2019-04-10
  • 不是秀强大了,别人就会来做朋友,这逻辑不对 2019-04-01
  • 候选企业:中国石油呼和浩特石化公司 2019-03-26
  • 航天员沙漠野外生存训练完美收官!为第一天团打call 2019-03-25
  • 请问,建立市场经济后,原计划经济哪里去?改革后,我们还在实行计划经济,为何没有提及? 2019-03-25
  • 构建年轻干部梯次培养链 2019-03-19
  • 孙实的专栏作者中国国家地理网 2019-03-15
  • 湖南师范大学举行研究阐释党的十九大精神国家社科基金重大专项学术研讨会 2019-03-15
  • [雷人]蠢货!土地处于不同的城市和地段,关联的资源不一样,价值也不一样。不然给咱俩同样面积的土地,咱的在北上广深,你的在边远山区,你干么? 2019-03-08