python re爬虫_Python爬虫基础——re模块的提取、匹配和替换

re是Python的一个第三方库。

为了能更直观的看出re的效果,我们先新建一个HTML网页文件(可直接复制):

index.html

Title

手机号:88888888

## OK,然后我们进入主题。

re主要有三个功能:提取、匹配、替换。

1、提取findall:

re.findall(【正则表达式】, 【被提取的字符串】)

注意:返回的类型是列表

我们应如何取出上文index.html中的Email或者手机号呢:

import re

with open('index.html', 'r', encoding='utf-8') as f:

# 读取index.html

html = f.read()

# 把html中的换行符,去掉,也就是替换成空字符串,因为.不能匹配到换行符

html = re.sub('\n', '', html)

print(html)

# 定义正则表达式,注意括号

pattern_1 = '

'

# re.findall(【正则表达式】,【被提取的字符串】),返回类型是列表

ret_1 = re.findall(pattern_1, html)

# 字符串.strip(),可以去除首位的空格和换行符

print(ret_1[0].strip())

2、匹配match:

re.match(【正则表达式】, 【被匹配的字符串】)

注意:

如果匹配成功,返回对象;

如果匹配不成功,返回None。

我们应如何编写定义密码的正则表达式呢:

import re

# 英文字母开头,可包括应为字母,数字、下划线,总位数6-16位

password_pattern = r'^[a-zA-Z][a-zA-Z0-9_]{5,15}$'

# 定义三个密码

pass1 = '1234567'

pass2 = 'k123456'

pass3 = 'k123'

# 打印测试结果,匹配成功返回re.Match对象,不成功返回None

print(re.match(password_pattern, pass1))

print(re.match(password_pattern, pass2))

print(re.match(password_pattern, pass3))

输出结果为:

3、替换sub:

re.sub(【正则表达式】, 【替换成的字符串】, 【被匹配的字符串】)

觉得没看过sub的同学,那只能说明你看笔记不认真了,示范代码请看上上文~~

为我心爱的女孩~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值