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编写一个简单的tic-tac-toe游戏的教程
Apr 16 Python
详解Python迭代和迭代器
Mar 28 Python
Python操作mysql数据库实现增删查改功能的方法
Jan 15 Python
Python可变和不可变、类的私有属性实例分析
May 31 Python
使用python模拟命令行终端的示例
Aug 13 Python
pytorch获取vgg16-feature层输出的例子
Aug 20 Python
关于python 的legend图例,参数使用说明
Apr 17 Python
python3 os进行嵌套操作的实例讲解
Nov 19 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 Python
如何用python绘制雷达图
Apr 24 Python
Python 中的单分派泛函数你真的了解吗
Jun 22 Python
Python 全局空间和局部空间
Apr 06 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文件读写操作之文件读取方法详解
2011/01/13 PHP
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
PHP命名空间(Namespace)简明教程
2014/06/11 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
php创建多级目录的方法
2015/03/24 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
基于jquery的checkbox下拉框插件代码
2010/06/25 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
javascript动态向网页中添加表格实现代码
2014/02/19 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
详解Vue 换肤方案验证
2019/08/28 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
使用Python中的greenlet包实现并发编程的入门教程
2015/04/16 Python
Python进行数据提取的方法总结
2016/08/22 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
python如何把嵌套列表转变成普通列表
2018/03/20 Python
python 字符串只保留汉字的方法
2018/11/16 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
Python银行系统实战源码
2019/10/25 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
日本最大级玩偶手办购物:あみあみ Amiami
2018/04/23 全球购物
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
化工专业应届生求职信
2013/11/08 职场文书
动员大会主持词
2014/03/20 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
人力资源部岗位职责
2015/02/11 职场文书
李白经典诗之一:全文无一“月”字,却句句有月
2019/07/12 职场文书