爬虫_正则表达式

  正则表达式(regular expression)是一种字符串匹配的模式(pattern)。它可以检查一个字符串是否含有某种子串;替换匹配的子串;提取某个字符串中匹配的子串。

3.1 常见语法

复制代码
# 导入正则模块
import re

# 字符匹配
rs = re.findall('abc', 'adc')
print(rs)
rs = re.findall('a.c', 'abc')
print(rs)
rs = re.findall('a.c', 'a\nc')
print(rs)
rs = re.findall('a.c', 'a.c')
print(rs)
rs = re.findall('a\.c', 'a.c')
print(rs)
rs = re.findall('a\.c', 'abc')
print(rs)

rs = re.findall('a[bc]d', 'abd')
print(rs)
rs = re.findall('a[bc]d', 'acd')
print(rs)

# 预定义的字符集
rs = re.findall('\d', '123')
# \w 匹配 下划线 字母 中文
rs = re.findall('\w', 'Az123_中文$%')

#数量词
rs = re.findall('\d*', '123')
复制代码

 

3.2 findall方法

扫描整个string字符串,返回所有与pattern匹配的列表

  • pattern:正则表达式

  • string:string字符串中查找

  • flags:匹配模式

import re
# 1.findall方法,返回匹配的结果列表
rs = re.findall('\d+', 'gazikel23Zihoo98')
print(rs)
# 2.findall方法中,flag参数的作用
rs = re.findall('a.bc', 'a\nbc', re.DOTALL)
rs = re.findall('a.bc', 'a\nbc', re.S)
print(rs)

  如果正则中没有()则返回与整个正则表达式匹配的列表。

  如果正则表达式中有()中匹配的内容列表,小括号两边的东西都是负责提取数据所在位置。

# 3.findall方法中分组的使用
rs = re.findall('a(.+)bc', 'a\nbc', re.DOTALL)
# ['\n']
print(rs)

3.3 r原串

正则中使用r原串,能够忽略转义符号带来的影响

将匹配的字符串中有多少个\,r原串正则中就添加多少个\即可。

posted @   Gazikel  阅读(86)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2020-10-12 JavaScript
点击右上角即可分享
微信分享提示