1 / 12
文档名称:

Python正则表达式.doc.doc

格式:doc   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Python正则表达式.doc.doc

上传人:755273190 2015/10/30 文件大小:0 KB

下载得到文件列表

Python正则表达式.doc.doc

文档介绍

文档介绍:本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则表达式,这些主题请查看其他教程。
注意:;如果看到不明白的词汇请记得百度谷歌或维基,whatever。
尊重作者的劳动,转载请注明作者及原文地址>.<html
1. 正则表达式基础
. 简单介绍
正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。
下图展示了使用正则表达式进行匹配的流程:
正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。如果表达式中有量词或边界,这个过程会稍微有一些不同,但也是很好理解的,看下图中的示例以及自己多使用几次就能明白。
下图列出了Python支持的正则表达式元字符和语法:  
. 数量词的贪婪模式与非贪婪模式
正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式"ab*"如果用于查找"abbbc",将找到"abbb"。而如果使用非贪婪的数量词"ab*?",将找到"a"。
. 反斜杠的困扰
与大多数编程语言相同,正则表达式里使用"\"作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式可以使用r"\\"表示。同样,匹配一个数字的"\\d"可以写成r"\d"。有了原生字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。
. 匹配模式
正则表达式提供了一些可用的匹配模式,比如忽略大小写、多行匹配等,pile(pattern[, flags])中一起介绍。
2. re模块
. 开始使用re
Python通过re模块提供对正则表达式的支持。使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,然后使用Pattern实例处理文本并获得匹配结果(一个Match实例),最后使用Match实例获得信息,进行其他的操作。
view sourceprint?
01
# encoding: UTF-8
02
import re
03
  
04
# 将正则表达式编译成Pattern对象
05
pattern = pile(r'hello')
06
  
07
# 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回None
08
match = ('hello world!')
09
  
10
if match:
11
    # 使用Match获得分组信息
12
    print ()
13
  
14
### 输出###
15
# hello
pile(strPattern[, flag]):
这个方法是Pattern类的工厂方法,用于将字符串形式的正则表达式编译为Pattern对象。第二个参数flag是匹配模式,取值可以使用按位或运算符'|'表示同时生效, | 。另外,你也可以在regex字符串中指定模式,pile('pattern', | )pile('(?im)pattern')是等价的。
可选值有:
(): 忽略大小写(括号内是完整写法,下同)
M(MULTILINE): 多行模式,改变'^'和'$'的行为(参见上图)
S(DOTALL): 点任意匹配模式,改变'.'的行为
L(LOCALE): 使预定字符类\w \W \b \B \s \S 取决于当前区域设定
U(UNICODE): 使预定字符类\w \W \b \B \s \S \d \D 取决于unicode定义的

最近更新

2024年黑龙江农业职业技术学院单招职业适应性.. 58页

创新电商平台运营方案探索引领行业发展 31页

内蒙古包头市事业单位招聘考试(职业能力倾向.. 146页

内蒙古巴彦淖尔盟事业单位招聘考试(职业能力.. 147页

内蒙古通辽市选调生考试(行政职业能力测验).. 148页

北京市选调生考试(行政职业能力测验)综合能.. 149页

山东省淄博市选调生考试(行政职业能力测验).. 147页

山西省朔州市事业单位招聘考试(职业能力倾向.. 148页

江苏省镇江市选调生考试(行政职业能力测验).. 147页

河北省保定市选调生考试(行政职业能力测验).. 147页

河北省张家口市选调生考试(行政职业能力测验.. 148页

河北省石家庄市选调生考试(行政职业能力测验.. 147页

河南省濮阳市选调生考试(行政职业能力测验).. 148页

湖南省怀化市选调生考试(行政职业能力测验).. 148页

福建省龙岩选调生考试(行政职业能力测验)综.. 149页

黑龙江省伊春市选调生考试(行政职业能力测验.. 148页

准确判断脑卒中症状的关键培训课件 25页

冷沉淀法在临床神经科学研究中的应用及前景分.. 26页

冷沉淀技术在干细胞研究与治疗中的应用与展望.. 26页

冷沉淀在遗传咨询中的应用 28页

冷沉淀在妇科疾病手术中的应用评价 33页

冷沉淀与心肌梗死后的心功能的相关性研究 27页

原材料采购应急预案 5页

2024年最新6.5世界环境日宣传报道6月5世界环境.. 5页

拒绝转院知情告知书 1页

控制柜出厂检验报告 3页

排球大单元教学计划5篇 10页

小学四年级下册体育与健康期末测试题及答案完.. 5页

《高纯钛铁》行业标准编制说明 10页

淄博经济发展浅析 6页