Python正则表达式精讲

Python正则表达式精讲

一、什么是正则表达式


正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。

简单来说正则表达式就是一个模板,可以用它匹配寻找到我们所需要的内容,如邮件格式,手机号码的格式要求。


二、正则表达式快速入门


正则表达式的规则很多,对于初学者来说要记住的内容太多。其实可以先掌握几个基本就够用了,多应用几次后再了解其他,就比较快了。


掌握4个符号 : . * + ? ()

1) . 匹配除“\n”之外的任意字符

2) * 匹配前一个字符0次或无限次

3) ? 匹配前一个字符0次或1次

4) + 匹配前一个字符1次或无限次

5) () 当我们需要一段内容的时候就用括号包围起来,不需要的内容放在括号外。

.* 贪心算法,匹配出最大满足条件的。就是能匹配到最大的字符串就取到最大的。

.*? 非贪心算法,匹配最小的满足条件的,多次。

以下可以放到熟悉一段时间后了解,写出来备查。

\ 转义字符,使后一个字符改变原来的意思

如果要匹配出这段网页的中的图片的链接

Python正则表达式精讲

正则表达式就是这样:


img src="(.*?)" class="lessonimg"

括号里就是我们要取的内容。

如果你想学习Python可以来这个群,首先是四七二,中间是三零九,最后是二六一,里面可以学习和交流,也有资料可以下载。


三、Python正则表达式使用


掌握一个方法:findall(): 匹配所有符合规律的内容,返回包含结果的列表。


import re #引入正则表达式# 匹配出网页中的title标签中的内容title = re.findall('<title>(.*?)</title>',myhtml)

以下方法用得较少,可以放到后面再理解。


search():

上一篇:XenApp / XenDesktop 7.6 初体验四 配置Win 8 模板和Personal vDisk


下一篇:Nuitka —— 高性能的 CPython 替代品