下载此文档

python爬虫程序设计kc18.ppt


文档分类:IT计算机 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
正则表达式
正则表达式是用来匹配与查找字符串的,从网上爬取数据自然或多或少会用到正则表达式。Python的正则表达式要先引入re模块,正则表达式以r引导,例如:
import re
reg=r"\d+"
m=(reg,"abc123cd")
print(m)
其中r"\d+"正则表达式表示匹配连续的多个数值,search是re中的函数,从"abc123cd"字符串中搜索连续的数值,得到"123",返回一个匹配对象,因此程序的结果如下:
< object; span=(3, 6), match='123'>
从结果看出,在指定的字符串中找到了连续的数值,它们是"123",span(3,6)表示开始位置是3,结束位置是6,这正好是"123"在"abc123cd"中的位置。
Python中关于正则表达式的规则比较多,下面将介绍主要的内容,详细内容读者可以参考相关资料。
1、字符"\d"匹配0-9之间的一个数值。
例如:
import re
reg=r"\d"
m=(reg,"abc123cd")
print(m)
结果找到了第一个数值"1":
< object; span=(3, 4), match='1'>
2、字符"+"重复前面一个匹配字符一次或者多次。
例如:
import re
reg=r"b\d+"
m=(reg,"a12b123c")
print(m)
结果找到了"b123":
< object; span=(3, 7), match='b123'>
注意:r"b\d+"第一个字符要匹配"b",后面是连续的多个数字,因此是"b123",不是"a12"。
3、字符"*"重复前面一个匹配字符零次或者多次。
"*"与"+"类似,但有区别,例如:
import re
reg=r"ab+"
m=(reg,"acabc")
print(m)
reg=r"ab*"
m=(reg,"acabc")
print(m)
结果:
< object; span=(2, 4), match='ab'>
< object; span=(0, 1), match='a'>
4、字符"?"重复前面一个匹配字符零次或者一次。
例如:
import re
reg=r"ab?"
m=(reg,"abbcabc")
print(m)
结果:
< object; span=(0, 2), match='ab'>
匹配结果是"ab",其中b重复一次。
5、字符"."代表任何一个字符,但是没有特别声明时不代表字符"\n"。
例如:
import re
s="xaxby"
m=(r"",s)
print(m)
结果"."代表了字符"x"
< object; span=(1, 4), match='axb'>
6、"|"代表把左右分成两个部分。
例如:
import re
s="xaabababy"
m=(r"ab|ba",s)
print(m)
结果匹配"ab"或者"ba"都可以:
< object; span=(2, 4), match='ab'>
7、特殊字符使用反斜线"\"引导,例如"\r"、"\n"、"\t"、"\\"分别表示回车、换行、制表符号与反斜线自己本身。
例如:
import re
reg=r"a\nb?"
m=(reg,"ca\nbcabc")
print(m)
结果匹配"a\n\b":
< object; span=(1, 4), match='a\nb'>
8、字符"\b"表示单词结尾,单词结尾包括各种空白字符或者字符串结尾。
例如:
import re
reg=r"car\b"
m=(reg,"The car is black")
print(m)
结果匹配"car",因为"car"后面是以个空格:
< object; span=(4, 7), match='car'>

python爬虫程序设计kc18 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2623466021
  • 文件大小67 KB
  • 时间2018-11-20