京公网安备 11010802034615号
经营许可证编号:京B2-20210330
Python爬虫正则表达式常用符号和方法
在python语言中,我们经常会用到python爬虫的正则表达式,下面小编通过本篇文章给大家介绍python爬虫正则表达式常用的符号和方法,以及具体用法,感兴趣的童鞋快来看看吧。
正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。
1、常用符号
. :匹配任意字符,换行符 \n 除外
:匹配前一个字符0次或无限次
? :匹配前一个字符0次或1次
.* :贪心算法,尽可能的匹配多的字符
.*? :非贪心算法
() :括号内的数据作为结果返回
2、常用方法
findall:匹配所有符合规律的内容,返回包含结果的列表
Search:匹配并提取第一个符合规律的内容,返回一个正则表达式对象
Sub:替换符合规律的内容,返回替换后的值
3、使用示例
(1). 的使用举例,匹配任意字符,换行符 \n 除外
import re #导入re库文件
a = 'xy123'
b = re.findall('x..',a)
print b
打印的结果为:['xy1'] ,每个 . 表示一个占位符
(2) * 的使用举例,匹配前一个字符0次或无限次
a = 'xyxy123'
b = re.findall('x*',a)
print b
打印的结果为:['x', '', 'x', '', '', '', '', '']
(3) ? 的使用举例,匹配前一个字符0次或1次
a = 'xy123'
b = re.findall('x?',a)
print b
打印的结果为:['x', '', '', '', '', '']
(4) .* 的使用举例
secret_code = 'hadkfalifexxIxxfasdjifja134xxlovexx23345sdfxxyouxx8dfse'
b = re.findall('xx.*xx',secret_code)
print b
打印的结果为:['xxIxxfasdjifja134xxlovexx23345sdfxxyouxx']
(5).*?的使用举例
secret_code = 'hadkfalifexxIxxfasdjifja134xxlovexx23345sdfxxyouxx8dfse'
c = re.findall('xx.*?xx',secret_code)
print c
打印的结果为:['xxIxx', 'xxlovexx', 'xxyouxx']
(6) ()的使用举例
secret_code = 'hadkfalifexxIxxfasdjifja134xxlovexx23345sdfxxyouxx8dfse'
d = re.findall('xx(.*?)xx',secret_code)
print d
打印的结果为:['I', 'love', 'you'] ,括号内的数据作为返回的结果
(7) re.S的使用举例
s = '''sdfxxhello
xxfsdfxxworldxxasdf'''
d = re.findall('xx(.*?)xx',s,re.S)
print d
打印的结果为:['hello\n', 'world'] ,re.S的作用是使 . 在匹配时包括 \n
(8) findall的使用举例
s2 = 'asdfxxIxx123xxlovexxdfd'
f2 = re.findall('xx(. ?)xx123xx(. ?)xx',s2)
print f20
打印的结果为:love
这时f2为含有一个元组的列表,该元组包含两个元素,该元组中的两个元素为两个()匹配到的内容,如果s2包含多个'xx(. ?)xx123xx(. ?)xx'这样的子串,则f2包含多个元组;
(9) search的使用举例
s2 = 'asdfxxIxx123xxlovexxdfd'
f = re.search('xx(. ?)xx123xx(. ?)xx',s2).group(2)
print f
打印的结果为:love
.group(2) 表示返回第二个括号匹配到的内容,如果是 .group(1), 则打印的就是:I
(10)sub的使用举例
s = '123rrrrr123'
output = re.sub('123(.*?)123','123%d123'%789,s)
print output
打印的结果为:123789123
其中的%d类似于C语言中的%d,如果 output=re.sub('123(.*?)123','123789123',s),输出结果也为: 123789123
(11) \d 的使用举例,用于匹配数字
a = 'asdfasf1234567fasd555fas'
b = re.findall('(\d+)',a)
print b
打印的结果为:['1234567', '555'] , \d+ 可以匹配数字字符串;
以上就是python爬虫正则表达式的一些常用符号和语法,希望对python初学者学习有所帮助。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
数据分析师一天的工作,80% 的时间围绕表格结构数据展开。从一张销售明细表到一份完整的分析报告,表格结构数据贯穿始终。但你真 ...
2026-04-16在机器学习无监督学习领域,Kmeans聚类因其原理简洁、计算高效、可扩展性强的优势,成为数据聚类任务中的主流算法,广泛应用于用 ...
2026-04-16在机器学习建模实践中,特征工程是决定模型性能的核心环节之一。面对高维数据集,冗余特征、无关特征不仅会增加模型训练成本、延 ...
2026-04-16在数字化时代,用户是产品的核心资产,用户运营的本质的是通过科学的指标监测、分析与优化,实现“拉新、促活、留存、转化、复购 ...
2026-04-15在企业数字化转型、系统架构设计、数据治理与AI落地过程中,数据模型、本体模型、业务模型是三大核心基础模型,三者相互支撑、各 ...
2026-04-15数据分析师的一天,80%的时间花在表格数据上,但80%的坑也踩在表格数据上。 如果你分不清数值型和文本型的区别,不知道数据从哪 ...
2026-04-15在人工智能与机器学习落地过程中,模型质量直接决定了应用效果的优劣——无论是分类、回归、生成式模型,还是推荐、预测类模型, ...
2026-04-14在Python网络编程、接口测试、爬虫开发等场景中,HTTP请求的发送与响应处理是核心需求。Requests库作为Python生态中最流行的HTTP ...
2026-04-14 很多新人学完Python、SQL,拿到一张Excel表还是不知从何下手。 其实,90%的商业分析问题,都藏在表格的结构里。 ” 引言:为 ...
2026-04-14在回归分析中,因子(即自变量)的筛选是构建高效、可靠回归模型的核心步骤——实际分析场景中,往往存在多个候选因子,其中部分 ...
2026-04-13在机器学习模型开发过程中,过拟合是制约模型泛化能力的核心痛点——模型过度学习训练数据中的噪声与偶然细节,导致在训练集上表 ...
2026-04-13在数据驱动商业升级的今天,商业数据分析已成为企业精细化运营、科学决策的核心手段,而一套规范、高效的商业数据分析总体流程, ...
2026-04-13主讲人简介 张冲,海归统计学硕士,CDA 认证数据分析师,前云南白药集团资深数据分析师,自媒体 Python 讲师,全网课程播放量破 ...
2026-04-13在数据可视化与业务分析中,同比分析是衡量业务发展趋势、识别周期波动的核心手段,其核心逻辑是将当前周期数据与上年同期数据进 ...
2026-04-13在机器学习模型的落地应用中,预测精度并非衡量模型可靠性的唯一标准,不确定性分析同样不可或缺。尤其是在医疗诊断、自动驾驶、 ...
2026-04-10数据本身是沉默的,唯有通过有效的呈现方式,才能让其背后的规律、趋势与价值被看见、被理解、被运用。统计制图(数据可视化)作 ...
2026-04-10在全球化深度发展的今天,跨文化传播已成为连接不同文明、促进多元共生的核心纽带,其研究核心围绕“信息传递、文化解读、意义建 ...
2026-04-09在数据可视化领域,折线图是展示时序数据、趋势变化的核心图表类型之一,其简洁的线条的能够清晰呈现数据的起伏规律。Python ECh ...
2026-04-09在数据驱动的时代,数据分析早已不是“凭经验、靠感觉”的零散操作,而是一套具备固定逻辑、标准化流程的系统方法——这就是数据 ...
2026-04-09长短期记忆网络(LSTM)作为循环神经网络(RNN)的重要改进模型,凭借其独特的门控机制(遗忘门、输入门、输出门),有效解决了 ...
2026-04-08