python 34:正则表达式的search()方法和findall()方法得到的值

一、两个方法得到值的类型

search()方法得到的值,其类型是re.Match对象。

findall()方法得到的值,其类型是list。

二、search()方法得到值的方法group()和groups()

search()方法得到的值,其类型是对象re.Match。这个对象有自己的方法。

其中最常用的两个方法是group()和groups()。

group()方法的参数为一个非负整数。

group(0)是匹配字符串,group(1)为其第一个分组,group(2)为第二个分组,余类推。如果没有相应的分组,则抛出异常。

groups()可以有参数,也可以没有参数,其值与参数无关,所以就用无参数的形式。它的值为一个元组,其元素为所有分组。注意groups()的元素中不一定有匹配字符串,它只是所有分组。可以将整个正则表达式作为一个分组(在最外面加圆括号),这样其第一个元素就是匹配字符串。

三、findall()得到的值

findall()得到的值是一个列表。

这个列表的元素都是元组,每一个元组对应一个匹配,是这个匹配的所有分组。每一个元组与search()得到的值的groups()方法的值的性质一样。同样,元组中的元素不一定有匹配字符串,它们只是所有分组。可以将整个正则表达式作为一个分组(在最外面加圆括号),这样其第一个元素就是匹配字符串。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容