如何用python实现正则表达式中的“非贪婪”匹配

本文介绍了Python正则表达式中的贪婪与非贪婪匹配概念。在默认情况下,正则表达式采用贪婪匹配,尽可能匹配更多字符串。为解决这个问题,我们可以使用非贪婪操作符“?”,使得匹配尽可能少的字符。通过实例演示了如何在数据中正确匹配“x-y-z”部分,从而得到预期结果。
摘要由CSDN通过智能技术生成

​在python的正则表达式中,操作符有“贪婪”和“非贪婪”之分,对于“贪婪操作符”,匹配过程是贪婪的,简单地说,就是需要尽可能匹配更多的字符串,因此,当存在某个字符串满足匹配条件时,立马匹配,这就意味着,存在如果这个字符串再多一些字符也可以匹配但是不会被匹配的情况。比如,我们对一个txt文件中的数据进行正则匹配,数据如下:

Sun May 10 04:42:56 2076::gugq@zmworxj.com::3356282576-4-7
Mon Oct 17 19:53:06 2101::xuej@owqqxevkxep.edu::4158993186-4-11
Fri Mar  8 01:25:34 2069::oesoe@keioku.edu::3129902734-5-6
Thu Jun 29 16:07:01 2051::rqfwte@zoxflwgznjhj.com::2571638821-6-12
Wed May 12 18:26:06 2077::mugsnp@ctbxkrdw.edu::3388040766-6-8
Thu Jul 12 07:36:10 2012::xwooi@xhjreu.edu::1342049770-5-6
Thu Jan 26 14:54:06 2006::dwuj@fqixh.gov::1138258446-4-5
Sat Jul  3 11:27:27 2083::slalaq@wgfcjpjcwfvc.net::3581810847-6-12
Tue Jul 31 11:28:14 2029::ojkey@sqdgktbhfjkk.net::1880162894-5-12

这是一个随机生成的由日期、邮箱以及随机数和长度信息组成的数据,下面,我们要匹配最后的“x-y-z”部分,我们知道,如果需要匹配字符串中的某个字符

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值