码迷,mamicode.com
首页 > 编程语言 > 详细

python re模块学习(二)

时间:2016-06-18 06:44:40      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

正则匹配之分组匹配

去已经匹配到的数据中再次提取数据

# match 分组
origin = has sdfsx x
# 普通正常正则匹配
r = re.match(rh\w+, origin)
print(r.group())

==> has

# 分组匹配
r = re.match(rh(\w+), origin)  # 这里我加了一个圆括号
print(r.groups())

==> (as,)   # 这里就会显示,我括住的都匹配到了哪些

# 分组字典
r = re.match(rh(?P<name>\w+), origin) 
print(r.groupdict())

==> {name: as} # 这里相当于在上一个分组基础上,我给这个括号起了个变量名,这个变量名作为key,被匹配到的值作为value存入的字典
# findall分组
origin = has sdfsx hal x
r = re.findall(h(\w+),origin)  
print(r)

==> [as, al]  # findall分组,当括住这一部分列出

# findall支持多个分组
origin = hasaabc sdfsx halaabc x
r = re.findall(h(\w+)a(ab)c,origin)
print(r)

==> [(as, ab), (al, ab)]
# split分割分组

# 无分组情况下
s = xxx a xxxx
r = re.split(a, s)
print(r)

==> [xxx ,  xxxx]

# 有分组
r = re.split((a), s)
print(r)

==> [xxx , a,  xxxx]  # 它将切割字符也添加进来

# 分组嵌套分组
r = re.split((a(le)x), s)
print(r)

==> [xxx , alex, le,  xxxx]  # 会由外至内的匹配分组

python re模块学习(二)

标签:

原文地址:http://www.cnblogs.com/coolking/p/5595573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!