正则表达式让你欲哭无泪的火星文,pyth

软件开发中难免会使用到正则表达式,同时这也是最难掌控的一门火星文语言,为什么这么说了,语言这个表达式之一堆字母,数字和符号展示出来的,但是却强大到能匹配很多规则的文本,可能应用范围最广的就是文本提取,和爬虫处理。接下来我就介绍一下这们语言有多么的令人难以捉摸。

pythonre模块中的方法和常量

在python中正则表达式的模块是re,取音译的前二个字母regularexpression。调用方法dir(re)查看一下正则表达式模块中的常量和方法,你会发现有几个单一自己的常量,I、L、M、S、T、U、X。他们分别表示不同的模式,这些模式可以同时使用,re.I表示忽略大小写敏感,re.L表示特殊的字符集\w、\W、\b、\B、\s、\S依赖于当前环境,re.M则是多行模式匹配,re.S即为“.”并且包括换行符在内的任意字符(点号不包括换行符),re.U表示特殊字符集\w、\W、\b、\B、\d、\D、\s、\S依赖于Unicode字符属性数据库,re.X为了增加可读性,忽略空格和“#”后面的注释。

re正则匹配

这里就介绍几个重要的方法,re.match、re.split、re.findall,re.sub。包括了匹配,切割、查找、替换。python的re模块有两种使用方法第一种是预先编译好正则表达式,每次用实例化的该正则表达式做以上操作,另外一种是直接调用调用方法,每次传入正则表达式。但是凭感觉第一种方法更加的高效。

re按空格切分字符串re查找文本中的单词re将文本中的test替换为product

接下来我们结合爬虫来研究一下如何使用正则表达式获取网页的标题,了解htmlDOM结构的同学一定知道网页的标题放在标签title中,所以我们的正则表达式为,title标签不用讲,就是正常的字符串,那括号里面的呢?^表示不出现左中括号,加号表示后面可以接1个或者多个^的字符。是不是发现很难理解,不用担心,我们慢慢来学,其实我觉得学正则最好的方法就是自己动手开始写爬虫,爬一下网站的结构,翻阅文档,慢慢地就会对正则表达式产生浓烈的兴趣。

正则表达式结合爬虫获取网页的标题


转载请注明:http://www.aierlanlan.com/tzrz/2854.html