python学习---第十四天
来源:互联网 发布:苏氏钻头淘宝 编辑:程序博客网 时间:2024/06/05 03:44
在下这厢有礼了
Python正则表达式
Python通过re模块提供对正则表达式的支持。使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,然后使用Pattern实例处理文本并获得匹配结果(一个Match实例),最后使Match实例获得信息,进行其他的操作。
# encoding: UTF-8import re # 将正则表达式编译成Pattern对象pattern = re.compile(r'hello') # 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回Nonematch = pattern.match('hello world!') if match: # 使用Match获得分组信息 print match.group() ### 输出 #### hello
match
Match对象是一次匹配的结果,包含了很多关于此次匹配的信息,可以使用Match提供的可读属性或方法来获取这些信息。
import rem = re.match(r'(\w+) (\w+)(?P<sign>.*)', 'hello world!') print "m.string:", m.stringprint "m.re:", m.reprint "m.pos:", m.posprint "m.endpos:", m.endposprint "m.lastindex:", m.lastindexprint "m.lastgroup:", m.lastgroup print "m.group(1,2):", m.group(1, 2)print "m.groups():", m.groups()print "m.groupdict():", m.groupdict()print "m.start(2):", m.start(2)print "m.end(2):", m.end(2)print "m.span(2):", m.span(2)print r"m.expand(r'\2 \1\3'):", m.expand(r'\2 \1\3') ### output #### m.string: hello world!# m.re: <_sre.SRE_Pattern object at 0x016E1A38># m.pos: 0# m.endpos: 12# m.lastindex: 3# m.lastgroup: sign# m.group(1,2): ('hello', 'world')# m.groups(): ('hello', 'world', '!')# m.groupdict(): {'sign': '!'}# m.start(2): 6# m.end(2): 11# m.span(2): (6, 11)# m.expand(r'\2 \1\3'): world hello!
pattern
Pattern对象是一个编译好的正则表达式,通过Pattern提供的一系列方法可以对文本进行匹配查找。
Pattern不能直接实例化,必须使用re.compile()进行构造。
Pattern提供了几个可读属性用于获取表达式的相关信息:
- pattern: 编译时用的表达式字符串。
- flags: 编译时用的匹配模式。数字形式。
- groups: 表达式中分组的数量。
- groupindex: 以表达式中有别名的组的别名为键、以该组对应的编号为值的字典,没有别名的组不包含在内。
import rep = re.compile(r'(\w+) (\w+)(?P<sign>.*)', re.DOTALL) print "p.pattern:", p.patternprint "p.flags:", p.flagsprint "p.groups:", p.groupsprint "p.groupindex:", p.groupindex ### output #### p.pattern: (\w+) (\w+)(?P<sign>.*)# p.flags: 16# p.groups: 3# p.groupindex: {'sign': 3}
阅读全文
0 0
- python学习---第十四天
- 学习python的第十四天
- python爬虫学习第十四天
- 程序学习第十四天
- .net学习第十四天
- JAVA学习第十四天
- 第十四天学习笔记
- Java学习第十四天
- 设计模式学习第十四天
- python第二十四天学习记录
- python爬虫学习第二十四天
- python爬虫学习第三十四天
- 每天学习10句英语-第十四天
- 黑马程序员----基础学习第十四天
- C语言学习第十四天(练习)
- 黑马程序员--- 学习笔记(第十四天)
- java学习总结——第十四天
- iOS-学习笔记-UI-第十四天
- Eclipse中的创建maven项目,无法添加src/main/java等source folder
- C#中$的用法
- Fatal error: Call to a member function..的解决方法
- javajdbc
- jquery对象和dom元素的转换
- python学习---第十四天
- dedecms提示:内存错误,下载解压版base_dic_full.dic
- python随机生成手机号
- 马云:未必每个企业都要转型,但每个企业都要升级 | 杭州启用全国首个基于人工智能的数据资源平台
- 微信支付问题,支付成功后跳转到指定页面
- 亚马逊与甲骨文互撕,透过迷雾看透数据库的江湖恩怨和大势
- 日期声明
- 堆和栈的区别(转过无数次的文章)
- cardview