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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 21:match对象的两个方法group()和groups()相关的知识,希望对你有一定的参考价值。

参考技术A 返回查到到的匹配文本。

>>>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

Python 线程池模块,Python 多线程

以上是关于python 21:match对象的两个方法group()和groups()的主要内容,如果未能解决你的问题,请参考以下文章

python re模块

应用 IF 而不是 MATCH 时如何使用 INDEX?

python正则表达式match,search,find的使用方法

python 正则表达式re使用模块(match()search()和compile())

JavaScript -基础- 函数与对象正则Match对象

Python3 正则表达式 re.match函数