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实现爬虫统计学校BBS男女比例之数据处理(三)
Dec 31 Python
python实现文本界面网络聊天室
Dec 12 Python
Pycharm如何打断点的方法步骤
Jun 13 Python
python实现桌面气泡提示功能
Jul 29 Python
django 控制页面跳转的例子
Aug 06 Python
Python函数式编程指南:对生成器全面讲解
Nov 19 Python
Python拼接字符串的7种方式详解
Mar 19 Python
python json 递归打印所有json子节点信息的例子
Feb 27 Python
Python decimal模块使用方法详解
Jun 08 Python
Python -m参数原理及使用方法解析
Aug 21 Python
python 如何用terminal输入参数
May 25 Python
Python中time标准库的使用教程
Apr 13 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 file_get_contents函数轻松采集html数据
2010/04/22 PHP
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
Js获取事件对象代码
2010/08/05 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
JavaScript对象原型链原理详解
2020/02/05 Javascript
javascript中的with语句学习笔记及用法
2020/02/17 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
python中nan与inf转为特定数字方法示例
2017/05/11 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
2018/12/21 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
使用 python pyautogui实现鼠标键盘控制功能
2019/08/04 Python
在python中做正态性检验示例
2019/12/09 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
python tqdm库的使用
2020/11/30 Python
python温度转换华氏温度实现代码
2020/12/06 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
会计自荐书
2013/12/02 职场文书
学校创先争优活动总结
2014/08/28 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
大学生实习推荐信
2015/03/27 职场文书
会议承办单位欢迎词
2015/09/30 职场文书