python语言的自学之路3

正则匹配里面方法分为两种使用方法:

方法1:

import re

str = ‘i am a bad hero‘

re.search(‘am’,str)

re.match(‘am’,str)

re.findall(‘am’,str)

re.finditer(‘am’,str)

方法2:

import re

str = ‘i am a bad hero’

pat = re.compile(r‘am’)  #r的意思是原生字符串

pat.match(str)

方法区别在于,当多次使用相同的匹配规则时,方法2由于compile已经缓存了匹配规则,所以执行多次的效率高于方法1.

原生字符串

假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\\\”,

Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式可以使用r"\\”表示,匹配一个数字的"\\d"可以写成r"\d"。

re.compile(strPattern[, flag]):

这个方法是Pattern类的工厂方法,用于将字符串形式的正则表达式编译为Pattern对象。

第二个参数flag是匹配模式,取值可以使用按位或运算符‘|‘表示同时生效,比如re.I | re.M。

另外,你也可以在regex字符串中指定模式,

比如re.compile(‘pattern‘, re.I | re.M)与re.compile(‘(?im)pattern‘)是等价的。

可选值有:

re.I(全拼:IGNORECASE): 忽略大小写(括号内是完整写法,下同)

re.M(全拼:MULTILINE): 多行模式,改变‘^‘和‘$‘的行为(参见上图)

re.S(全拼:DOTALL): 点任意匹配模式,改变‘.‘的行为

re.L(全拼:LOCALE): 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定

re.U(全拼:UNICODE): 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性

re.X(全拼:VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释

以下两个正则表达式a和b是等价的:

a = re.compile(r"""\d +  # the integral part

\.    # the decimal point

\d *  # some fractional digits""", re.X)

b = re.compile(r"\d+\.\d*")

时间: 2024-11-04 12:43:37

python语言的自学之路3的相关文章

python语言的自学之路

之前粗略看过一次python的语言,语法简单.由于时间过了太久,好像有两年了吧(之前就是纯粹想知道python是什么才看的),也不记得什么了,只是记得它没有c语言和java语言难就是了. 根据这个网站中的资料可以很快入手python:http://www.runoob.com/python/python-chinese-encoding.html.伟大征程从此开始-- 对于helloworld,我就直接跳过了,这一步就如同,厨房里面烧菜前,看一下厨房是否干净.是否有水龙头等. 下划线在pytho

python语言的自学之路2

函数,值传入参数和引用参数(列表.字典)的区别,记住不定长参数的函数定义如下: # 可写函数说明 def printinfo( arg1, *vartuple ):    "打印任何传入的参数"    print "输出: "    print arg1    for var in vartuple:       print var    return;   # 调用printinfo 函数 printinfo( 10 ); printinfo( 70, 60, 5

Python的自学之路:Python基础(一)

声明:我写博客不是为了什么,只是为了记录自己的学习状态,学过的知识点!方便以后进行好的复习!python小白,勿喷 python环境的搭建,在这里就不细说了,这里有我的链接,可以参考一下:https://zhidao.baidu.com/question/306884346674551164 首先,我们先一起来认识一下python. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发

Python语言的特点及自学建议

Python语言的特点Python语言是一种被广泛使用的高级通用脚本编程语言,具有很多区别于其他语言的特点,这里仅列出如下一些重要特点.(1)语法简洁:实现相同功能,Python语言的代码行数仅相当于其他语言的1/10~1/5.(2)与平台无关:作为脚本语言,Python程序可以在任何安装解释器的计算机环境中执行,因此,用该语言编写的程序可以不经修改地实现跨平台运行.(3)粘性扩展:Python语言具有优异的扩展性,体现在它可以集成C.C++.Java等语言编写的代码,通过接口和函数库等方式将它

Python自学之路【第一篇】:Python简介和入门

Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内几

Linux应用开发自学之路

前言 在 「关于我 」那篇博文里,朋友们应该知道了我不是科班出身,是由机械强行转行到Linux应用开发方向.下面我就详细向大家介绍自己这一路上的转行历程,希望对大家有所启发. 我是学机械专业的,对于机械专业我还是很感兴趣,而且当年这个专业也是我自己选择的.本科时成绩没排第一,但也排专业前列.硕士时成绩一直是专业第一,还拿过国家奖学金.由此可见,我还是挺热爱机械的,考研时甚至还想去中科院深造(可惜落榜了),想成为一名机械砖家. 转折点 但转机在我毕业之后.本来我就想一直踏踏实实的做机械,但阴差阳错

我的web前端自学之路-心得篇:我为什么要学习web前端?

时光如流水,转眼间,自己已经是大三的学长了,看着一个个学弟学妹,心中有种莫名的感觉,很怀念大学的前两年时光,但也很憧憬着自己的未来,自己将要去经历很多从未经历的事.我是我们学校信科院的一名学生,在编程方面,一开始只是接触到了C语言,但是c语言对于我来说并不友好,也并不是那么的好学,所以自己对程序不是很有兴趣,但一个偶然的机会,我接触到了web前端,看着我的一个大牛同学用前端 所涉及的语言写出了一些很棒的程序,于是就产生了一种很想学习前端的想法和很想把前端做的完美的渴望,于是,就开始了我的前端之路

马士兵_JAVA自学之路(为那些目标模糊的码农们)

转载自:http://blog.csdn.net/anlidengshiwei/article/details/42264301 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去

【转】JAVA自学之路

JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势. 一些新闻文章很有可能是枪手写的,不必太过相信.国外背景的