千家信息网

Python爬虫正则表达式常用符号和方法总结

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"Python爬虫正则表达式常用符号和方法总结",在日常操作中,相信很多人在Python爬虫正则表达式常用符号和方法总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
千家信息网最后更新 2026年10月31日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爬虫正则表达式常用符号和方法总结"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

结果 正则 表达式 字符 常用 方法 符号 内容 爬虫 语法 学习 两个 括号 规律 语言 不同 强大 元素 多个 字符串 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 深圳九邦互联网科技有限公司 互联网科技公司经营范围 互联网 科技创业 唐信互联网科技 卓越科技(互联网 ) 苏州互联网科技贷款公司 美国互联网黑科技 西安互联网科技公司 互联网科技宣传片 互联网科技公司名称 互联网科技股有哪些 互联网教育科技公司vipkid 银川新华互联网科技职业技术培训学校图片 互联网企业和科技型企业 互联网科技创新的路径 锡山区互联网智能科技产品供应 上海同邻互联网科技有限公司规模 西安有哪些互联网高科技企业 华人运通互联网科技公司 天津市摩尔互联网科技 金融科技还是互联网 上海互联网科技有限公司 深圳卡尔迅互联网科技有限公司怎么样 科技赋能互联网健康 互联网科技与大数据专业 速维有品互联网信息科技(苏州)有限公司 35岁以上互联网科技行业 云南互联网科技学费 北京瑞云互联网科技有限公司
0