python2.7入门---正则表达式 (3)

python2.7入门---正则表达式


    在上面,当匹配成功时返回一个 Match 对象,其中:

group([group1, …]) 方法用于获得一个或多个分组匹配的字符串,当要获得整个匹配的子串时,可直接使用 group() 或 group(0);

start([group]) 方法用于获取分组匹配的子串在整个字符串中的起始位置(子串第一个字符的索引),参数默认值为 0;

end([group]) 方法用于获取分组匹配的子串在整个字符串中的结束位置(子串最后一个字符的索引+1),参数默认值为 0;

span([group]) 方法返回 (start(group), end(group))。

    再看看一个例子:

python2.7入门---正则表达式


    然后我们来看findAll函数。在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。注意: match 和 search 是匹配一次 findall 匹配所有:

findall(string[, pos[, endpos]])

    参数说明如下:

string : 待匹配的字符串。

pos : 可选参数,指定字符串的起始位置,默认为 0。

endpos : 可选参数,指定字符串的结束位置,默认为字符串的长度。

    看一个查找字符串中的所有数字的例子:

python2.7入门---正则表达式


    输出结果为:

[\'123\', \'456\'] [\'88\', \'12\']

    再来看re.finditer函数。和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。

re.finditer(pattern, string, flags=0)

    参数说明:

参数描述
pattern   匹配的正则表达式  
string   要匹配的字符串。  
flags   标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。参见:  

    实例如下:

python2.7入门---正则表达式


    输出结果为:

12 32 43 3

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgxzg.html