一、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
二、返回指定分組的匹配文本
假定想要將區(qū)號從電話號碼中分離,添加括號將在正則表達式中創(chuàng)建“分組”:(\d\d\d) -(\d\d\d-\d\d\d\d)。然后可以使用group()匹配對象方法,從一個分組中獲取匹配的文本。
正則表達式字符串中的第一對括號是第1組。第二對括號是第2組。
向group()匹配對象方法傳入整數(shù)1或2,就可以取得匹配文本的不同部分。向group()方法傳入0或不傳入?yún)?shù),將返回整個匹配的文本。
group()方法在分組的情況下,可以通過指定參數(shù)來返回指定分組的匹配文本。
>>>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