python正则分组的应用


Posted in Python onNovember 10, 2013
import re
text='V101_renow.Android.2.2.Normal.1.Alpha.apk?IMSI=460029353813976&MOBILE=&OLD_VERSION=renow.Android.2.1.Normal.1.Alpha&CHANNELID=3'
m = re.search(r"\w+_(renow.*)\.(apk|vir|ipa)\?IMSI=(\d+)&MOBILE=&OLD_VERSION=(.*)&CHANNELID=(.*)", text)
if m:
    print m.group(0), '\n', m.group(1),'\n', m.group(2),'\n', m.group(3),'\n', m.group(4),'\n', m.group(5)
else:
    print 'not match'

以下是补充:

组是通过 "(" 和 ")" 元字符来标识的。 "(" 和 ")" 有很多在数学表达式中相同的意思;它们一起把在它们里面的表达式组成一组。举个例子,你可以用重复限制符,象 *, +, ?, 和 {m,n},来重复组里的内容,比如说(ab)* 将匹配零或更多个重复的 "ab"。

例子:如果不引入括号,增个表达式作为一个组,是group(0)

>>> import re
>>> p=re.compile('\d-\d-\d')
>>> m=p.match('2-3-1')
>>> m.groups()
()
>>> m.group()
'2-3-1'
>>> m.group(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: no such group

如果引入括号,可以将上面的表达式分成3组,如下

>>> p=re.compile('(\d)-(\d)-(\d)')
>>> m=p.match('1-2-3')
>>> m.group()
'1-2-3'
>>> m.group(1)
'1'
>>> m.group(0,2,1)
('2-3-1', '2', '1')

也可以给各个组取名字,例如,给第一个数组取名叫first

>>> p=re.compile('(?P<first>\d)-(\d)-(\d)')
>>> m=p.match('1-2-3')
>>> m.group(1)
'1'
>>> m.group('first')

'1'

Python 相关文章推荐
在Python中操作文件之truncate()方法的使用教程
May 25 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
Nov 05 Python
python实现决策树分类算法
Dec 21 Python
Python线性方程组求解运算示例
Jan 17 Python
使用python实现链表操作
Jan 26 Python
Pandas中resample方法详解
Jul 02 Python
Python字典的概念及常见应用实例详解
Oct 30 Python
Jupyter Notebook 安装配置与使用详解
Jan 06 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 Python
Python-typing: 类型标注与支持 Any类型详解
May 10 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 23 Python
python Django连接MySQL数据库做增删改查
Nov 07 #Python
使用Python下载Bing图片(代码)
Nov 07 #Python
python中文乱码的解决方法
Nov 04 #Python
python Django模板的使用方法(图文)
Nov 04 #Python
使用python Django做网页
Nov 04 #Python
教你安装python Django(图文)
Nov 04 #Python
python条件和循环的使用方法
Nov 01 #Python
You might like
php使用正则验证中文
2016/04/06 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
jQuery和JavaScript节点插入元素的方法对比
2016/11/18 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
2017/06/08 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
vue  elementUI 表单嵌套验证的实例代码
2019/11/06 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
Python创建文件和追加文件内容实例
2014/10/21 Python
python smtplib模块发送SSL/TLS安全邮件实例
2015/04/08 Python
python实现自动发送邮件
2018/06/20 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
python使用matplotlib画饼状图
2018/09/25 Python
python事件驱动event实现详解
2018/11/21 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
pyqt5数据库使用详细教程(打包解决方案)
2020/03/25 Python
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
三星法国官方网站:Samsung法国
2019/10/31 全球购物
企业总经理岗位职责
2014/02/13 职场文书
机关节能减排实施方案
2014/03/17 职场文书
校园歌咏比赛主持词
2014/03/18 职场文书
初中家长评语和期望
2014/12/26 职场文书
全国助残日活动总结
2015/05/11 职场文书
民间借贷借条如何写
2015/05/26 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫