1、正则表达式

1、正则表达式是一种用于描述文本模式的工具。它是由字符和特殊符号组成的字符串,描述了模式的重复或者多个字符,于是就可以按照某种模式匹配一系列有相似特征的字符串。它主要的作用是将文本用某种可被计算机识别的模式表现出来,为高级的文本模式匹配、抽取、与/或 文本形式的搜索和替换功能提供了基础。

2、python中通过re模块支持正则表达式,主要包括以下用法:

1)匹配和搜索:re.match(pattern,string)

import re

result = re.match(r'\d+','123abc') #r表示原始字符串,\不代表转义,d表示单个数字(0~9),+表示可以是多个字符,正则表达式和字符串单引号和双引号都可以用。w+表示所有的数字和字符串。

print(result.group()) #输出'123'

2)替换 re.sub(pattern,repl,string) 用repl替换字符串中所有与pattern匹配的问题

result = re.sub(r'\d+', 'num','abc123def456')

print(result) #输出 'abcnumdefnum'

3)拆分 re.split(pattern, string) 根据正则表达式pattern拆分字符串

result = re.split(r"\d+", "abc123def456")

print(result) #输出'abc,' 'def', ' '

4)、查找所有匹配项 re.findall(pattern, string)返回一个列表,包含字符串中所有与pattern匹配的部分

result = re.findall(r'\d+','abc123def456')

print(result) #输出'123', '456'

5)、匹配对象:re.match和search方法返回的对象可以提供以下信息:

group():返回匹配的字符串

groups():返回一个包含所有捕获组的元祖

start():匹配字符串的起始索引

end():匹配字符串的结束索引

span():返回一个元祖,包括匹配的开始和结束位置

3、搜索通常是指在字符串或数据中查找某个特定的值或模式。匹配通常是指检查数据是否符合某种模式或规则。

4、compile编译正则表达式会返回一个正则表达式对象。

用法:patten = re.compile(r'a.b')

patten.match('abcde125j');

5、元字符:

.: 匹配任何字符(除\n)。patten = re.compile(r'a.b')表示匹配任何字符。

^:匹配字符串开头部分。

复制代码
pattern = re.compile(r'^Hello')

Hello, world!', 'Say Hello', 'Hello']

'Hello, world!' 匹配
'Say Hello' 不匹配
'Hello' 匹配

$:匹配字符串结尾部分。

复制代码
pattern = re.compile(r'world!$')

'Hello, world!', 'world! Here I come', 'Hello, world'

'Hello, world!' 匹配
'world! Here I come' 不匹配
'Hello, world' 不匹配

?:匹配0次或1次前面出现的正则表达式

复制代码
pattern = re.compile(r'a?')

'a' 匹配 'a'
'aa' 匹配 'a'
'aaa' 不匹配
'' 匹配 ''
'b' 不匹配

{N}匹配N次;{M,N}匹配M~N次;...匹配来自字符集的任意单一字符;

相关推荐
想会飞的蒲公英5 小时前
计算机怎样读取中文文本:编码、清洗与标准化
人工智能·python·自然语言处理
SeaTunnel6 小时前
从 Python Script 地狱到标准化数据集成框架
大数据·开发语言·python·程序员·代码·seatunnel
深度研习笔记6 小时前
OpenCV工业视觉实战09|项目EXE打包+工控机无环境部署+后台常驻运行,彻底脱离Python环境,完成项目最终交付
python·opencv·webpack
CCPC不拿奖不改名7 小时前
大模型推理架构与开源生态知识整理
数据库·windows·python·架构·langchain·开源·github
Marst Code7 小时前
(python)2026Plotly 库评估:交互式可视化到底值不值得引入?
开发语言·python
databook7 小时前
当散点图不够用时:用 t-SNE 可视化多维数据
python·数据分析·数据可视化
我的xiaodoujiao10 小时前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具
weixin_4080996710 小时前
2026 图片去水印 API 接口完全指南:一键去除图片水印(附 Python/Java/PHP/C# 示例)
java·python·php·图片处理·api调用·图片去水印·石榴智能
去码头整点薯条ing11 小时前
某当网登录滑块【协议+OCR】
爬虫·python·ocr
赶紧写完去睡觉11 小时前
Anaconda 创建虚拟环境与使用
python·pycharm·conda