爬虫之正则表达式基础

什么是正则表达式

1.使用单个字符串来描述匹配一系列符合某个句法规则的字符串
2.是对字符串操作的一种逻辑公式
3.应用场景:处理文本和数据
4.正则表达式过程:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功:否则匹配失败
5.正则表达式可以用于各种流行计算机语言,下边我以python为例讲解一下

正则表达式常用语法
字符匹配
.匹配任意字符(除了\n)
[…]匹配字符集
\d/\D匹配数字/非数字
\s/\S匹配空白/非空白字符
\w/\W匹配单词字符[a-z,A-Z,0-9]/非单词字符
*匹配前一个字符0次或者无限次
+匹配前一字符1次或者无限次
匹配前一字符0次或者1次
{m}/{m,n}匹配前一次字符m次或者n次
*?/+?/??匹配模式变为非贪婪(尽可能少匹配字符)
^匹配字符串开头
$匹配字符串结尾
\A/\Z指定的字符串匹配必须出现在开头/结尾
re模块的相关使用方法
  • 导入re模块 import re
  1. re.match()
    尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none
a = '0cc6c26abfca0fbdea4579ff026be3af'
b = re.match(r'\d',a).group() 
#group传出第几块内容
#r'\d'是匹配的正则表达式,r防止出现转义字符,a是需要匹配的字符串
print(b)

0
#只能匹配起始位置
  1. re.search()
    扫描整个字符串并返回第一个成功的匹配
a = 'acc6c26abfca0fbdea4579ff026be3af'
b = re.search(r'\d',a).group()
print(b)

6
#扫描整个,但是返回第一个匹配的
  1. re.compile()
    用于编译正则表达式,生成一个正则表达式(Pattern)对象
a = '0cc6c26abfca0fbdea4579ff026be3af'
re = re.compile(r'\d')   #re为正则表达式的对象,以便以批量使用 
b = re.match(re,a).group() 
print(b)

0
  1. re.findall()
    在字符串中找到正则表达式所匹配的所有字符串,并返回一个列表,如果没有找到匹配的,则返回空列表
a = '0cc6c26abfca0fbdea4579ff026be3af'
b = re.findall(r'\d',a)
print(b)

['6', '2', '6', '0', '4', '5', '7', '9', '0', '2', '6', '3']
#返回所有匹配的字符串,形成一个列表
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值