正则表达式是比较重要知识,它可以让你在众多数据中找到你想要的数据,在python爬虫爬取数据的时候显得尤为重要。 |
- 前例
- 其实在生活中我们不经意使用的就是正则表达式,只是可能我们自己也不知道,比如你在我的电脑上想搜一个扩展名是doc的文件,那么这个时候你可能输入一个
*.doc
就可以匹配所有的以doc结尾的文件,还有比如我们用Linux指令操作文件的时候,?
表示匹配任意一个字符,^a
表示匹配以a开头的字符等,都是正则的体现。 -
re
模块概述
正则表达式的语法在几乎所有编程都是通用的,除了中间几个别的函数是某种语言特有的。
- 这一块其实是比较容易理解的,下面先看一个例子
#coding=utf-8
import re
result = re.match("www","www.sgyzyun.club")
result.group()
当我们用ipython练习的时候可以使用
result = re.match("www","www.sgyzyun.club").group()
,但是正规写代码的时候要分。
看一下结果
就可以匹配到内容了
需要注意的是,
match
从头开始匹配,但是不会扫描字符串,也就是不管尾部的–>首尾匹配本篇后面会说。
还 有就是正常在写前一个参数的时候要带上r
表示原生字符串(如果不带正常也没事,但是当遇到使用多个\
容易出错),result=re.match(r"www","www.sgyzyun.club")
.
的用法
看下面例子,就很容易理解了
#coding=utf-8
import re
ret = re.match(".","A")
print(ret.group())
ret = re.match("y.n","yun")
print(ret.group<