python 21:match对象的两个方法group()和groups()

一、group()方法

返回查到到的匹配文本。

>>>import re

>>>phoneNumRegex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')

>>>mo = phoneNumRegex.search('My number is 415-555-4242.')

>>>print('Phone number found:' + mo.group())

Phone number found:415-555-4242

二、返回指定分组的匹配文本

假定想要将区号从电话号码中分离,添加括号将在正则表达式中创建“分组”:(\d\d\d) -(\d\d\d-\d\d\d\d)。然后可以使用group()匹配对象方法,从一个分组中获取匹配的文本。

正则表达式字符串中的第一对括号是第1组。第二对括号是第2组。

向group()匹配对象方法传入整数1或2,就可以取得匹配文本的不同部分。向group()方法传入0或不传入参数,将返回整个匹配的文本。

group()方法在分组的情况下,可以通过指定参数来返回指定分组的匹配文本。

>>>phoneNumRegex = re.compile(r'(\d\d\d)-(\d\d\d-\d\d\d\d)')

>>> mo = phoneNumRegex.search('My number is 415-555-4242.')

>>>mo.group(1)

'415'

>>>mo.group(2)

'555-4242'

>>>mo.group(0)

'415-555-4242'

>>>mo.group()

'415-555-4242'

三、一次返回所有分组的匹配文本

使用groups()方法,返回一个元组。有多少分组就有多少元素。

>>>mo.groups()

('415' ,'555-4242')

>>>areaCode, mainNumber =mo.groups()

>>> print(areaCode)

415

>>>print(mainNumber)

555-4242

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容