python爬虫基础知识(二)--正则表达式
来源:互联网 发布:混沌战域神兵进阶数据 编辑:程序博客网 时间:2024/05/21 11:34
regular expression :描述字符串排列的一套规则,通过这套规则,我们可以过滤掉不需要的信息,从而提取出我们需要的信息,在爬虫中,我们如果想要从网页中获取我们想要的信息就需要构造相应的正则表达式结合python的方法进行获取。
1.原子
原子是正则表达式中最基本的单位,每个正则表达式至少包含一个原子,原子类型:
1)普通字符
import repattern="hello"string="abdsafdasdhelloAsad"result=re.search(pattern,string)print(result)
2)非打印字符作为原子
\n—>换行符
\t–>制表符
import repattern="\n"string='''abdsafdasdhelloAsa dadassd'''result=re.search(pattern,string)print(result)
3)通用字符
import repattern="\wsa"string='''abdsafdasahelloAsa dadassd'''result=re.search(pattern,string)print(result)输出:<_sre.SRE_Match object; span=(2, 5), match='dsa'>
4)原子表
原子表的意思就是可以定义一组平等的原子,在匹配的时候取该原子表的任意一个原子进行匹配,原子表用[]表示,比如[cvb]oo就是在cvb中任意选一个元素,coo,voo,boo都是正确的匹配,类似的[^cvb]oo表示的不包括cvb中的任意一个。
import repattern="[abc]s"string='''abdsafdasahelloAsa dadassd'''result=re.search(pattern,string)print(result)result:<_sre.SRE_Match object; span=(7, 9), match='as'>
2.元字符
元字符就是正则表达式里面表示特殊含义的字符,比如重复n次前面的元素,具体的表可以参照正则表达式速查表
import repattern1="^ab"pattern2="sd$"string='''abdsafdasahelloAsa dadassd'''result1=re.search(pattern1,string)result2=re.search(pattern2,string)print(result1)print(result2)
3.模式修正
模式修正的含义的就是实现一些匹配结果的调整,比如不区分大小写(I),多行匹配(M)等
import repattern2="sd$"string='''abdsafdasahelloAsa dadasSd'''result2=re.search(pattern2,string,re.I)print(result2)结果:<_sre.SRE_Match object; span=(31, 33), match='Sd'>
4.贪婪模式和懒惰模式
这两个名词的含义一看都能明白,贪婪的意思就是尽可能多的匹配,懒惰的模式就是只匹配一个,实现这种简单的贪婪模式比如正则表达式”p.*y”,这就是贪婪模式。
正则表达式常用函数
1)re.match(pattern,string,flag),从源字符串开始位置开始匹配
2)re.serach(),扫描整个字符串
3)全局匹配函数
全局匹配函数就是要匹配所有有可以匹配的字符,所有的结果都要提出来
思路:
使用re.compile()对正则表达式预编译–>使用findall()根据正则表达式找出所有结果。
import restring="abcdfsdfdabdfsdfdsvsfd"pattern=re.compile(".b.")result=pattern.findall(string)print(result)结果:['abc', 'abd']
4)re.sub(pattern,rep,string,max)根据pattern,从string中找出符合条件的结果,替换为req,最多可替换max次,默认为全部替换。
—-end————–
- python爬虫基础知识(二)--正则表达式
- python爬虫入门(1) 基础知识 ; 正则表达式 Re 模块
- Python爬虫 正则表达式
- Python爬虫-正则表达式
- python爬虫-正则表达式
- Python爬虫入门(7):正则表达式
- Python爬虫入门(7):正则表达式
- Python爬虫基础-5(正则表达式)
- Python网络爬虫(3)正则表达式
- Python爬虫四(正则表达式)
- python爬虫(一) 正则表达式
- Python爬虫入门(7):正则表达式
- Python爬虫学习(四)正则表达式
- Python正则表达式(二)
- python正则表达式(二)
- python正则表达式(二)
- Python正则表达式(二)
- Python:正则表达式(二)
- java环境变量的配置
- ESET NOD32 v11.0.154
- Java面向对象(2)
- 策略模式
- 第9章--模板
- python爬虫基础知识(二)--正则表达式
- 442. Find All Duplicates in an Array(C++)
- 什么时候使用assert
- CSS3(十八)
- Java中Lambda表达式的使用
- XAMPP设置MySql服务器用户名密码及远程访问权限
- 众所周知,在每一个彗星后都有一只UFO。这些UFO时常来收集地球上的忠诚支持者。不幸的是,他们的飞碟每次出行都只能带上一组支持者。因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带走。他们为
- SQL优化
- Servlet实现文件下载