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模拟新浪微博登陆功能(新浪微博爬虫)
Dec 24 Python
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
Python爬取APP下载链接的实现方法
Sep 30 Python
python3+PyQt5+Qt Designer实现扩展对话框
Apr 20 Python
查看django版本的方法分享
May 14 Python
python框架flask表单实现详解
Nov 04 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
Python计算公交发车时间的完整代码
Feb 12 Python
总结Pyinstaller的坑及终极解决方法(小结)
Sep 21 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
Oct 12 Python
Python+Matplotlib+LaTeX玩转数学公式
Feb 24 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
杏林同学录(六)
2006/10/09 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
php生成图片验证码
2015/06/09 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
使用vue-cli编写vue插件的方法
2018/02/26 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
Python中的hypot()方法使用简介
2015/05/18 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
基于Python对象引用、可变性和垃圾回收详解
2017/08/21 Python
python输出pdf文档的实例
2020/02/13 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
四川成都导游欢迎词
2014/01/18 职场文书
消防应急演练方案
2014/02/12 职场文书
风险评估实施方案
2014/03/09 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
我爱我校演讲稿
2014/05/21 职场文书
幼儿园标语大全
2014/06/19 职场文书
化学教育专业自荐信
2014/07/04 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
2014年维稳工作总结
2014/11/18 职场文书
创业计划书之暑假培训班
2019/11/09 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python
教你利用python实现企业微信发送消息
2021/05/23 Python