爬虫中正则表达式怎么用

爬虫中正则表达式怎么用

这篇文章给大家分享的是有关爬虫中正则表达式怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1、正则表达式:学会正则表达式的常用符号
2、re模块:学会python中re模块的使用方法
3、Requests和re模块的组合应用:案例说明

正则表达式:

一般字符:

预定义字符:

数量词:

边界匹配:

(.?)括号内容返回结果,.?匹配任意字符

import re
a = 'xxIxxmexxlovexxsffaxxpythonxx'
infos = re.findall('xx(.*?)xx',a)
print(infos)
输出结果:I,love, python

re模块及其方法

search()函数:匹配并提取第一个符合规律的内容,返回一个正则表达式对象
re.match(pattern,string,flags=0)
其中:
(1)pattern为匹配的正则表达式
(2)string为要匹配的字符串
(3)flags为标志位,用于控制正则表达式的匹配方式,如是否区分大小写,多行匹配等

import re
a='one1two2three3'
infos=re.search('\d+',a)
print(infos)

输出:<re.Match object; span=(3, 4), match='1'>

import re
a='one1two2three3'
infos=re.search('\d+',a)
print(infos.group())

输出:1

sub()函数:用于替换字符串中的匹配项
re.sub(pattern,repl,string,count=0,flags=0)
其中:
(1)pattern为匹配的正则表达式
(2)repl为替换的字符串
(3)string为要被查找替换的原始字符串
(4)counts为模式匹配后替换的最大次数,默认0表示替换所有的匹配
(5)flags为标志位,用于控制正则表达式的匹配方式,如是否区分大小写,多行匹配等

import re
phone='123-456-789'
new_phone=re.sub('\D','',phone)
print(new_phone)

输出:123456789

findall()函数:匹配所有符合规律的内容,并以列表的形式返回结果。

import re
a='one1two2three3'
infos2=re.findall('\d+',a)
print(infos2)

输出:['1', '2', '3']

import re
a ='''<div>指数
</div>'''
word = re.findall('<div>(.*?)</div>', a, re.S)
print(word[0].strip())

输出:指数

感谢各位的阅读!关于“爬虫中正则表达式怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

发布于 2021-12-29 23:24:46
收藏
分享
海报
0 条评论
67
上一篇:如何利用正则表达式提取出由三维软件导出的STL文件中的顶点数据 下一篇:如何使用ABAP实现一个区块链原型
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码