python 正则表达式--匹配对象和组

所有的语言基本上都有这么强大的用法:正则表达式。python里面有这么一种匹配,叫匹配对象和组。

在python中,当能够找到匹配项的时候,他们都会返回MathObject对象,这些对象包括匹配模式的子字符串信息。他们还包含了哪个模式匹配了字符串的哪部分信息---这些部分就是组。

组就是放置在()内的子模式。组的序号取决于它左侧的括号数,组0就是整个模式。例如:

‘this is (my name (cogbee is) who am I) who maybe you (can now)’

组对应关系如下:

0:this is my name cogbee is who am I who maybe you can now

1:my name cogbee is who am I

2:cogbee is

3:can now


好了,介绍了这么多,那么有什么用呢?

用处挺大的。

比如,我们一个文件格式,就拿email报文格式来说,有一项:From:cogbee <cogbee@1345.com>

如果你想获取其中的用户名,该怎么办??

真则表达式啊。

'From:(.*)<.*?>$'

那么,group(1)就是括号内的内容,不就是我们的用户名吗??够简洁吧。

我们能够用的组最多99个。

贴一个树上的程序吧:供参考

import fileinput,re
pat = re.compile('From:(.*)<.*?>$')
for line in fileinput.input():
     m=pat.match(line)
     if m:print m.group(1)



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值