Python(re模块的具体使用)

|-------------------------------------------|--------------------------------------------------|
| 函数 | 功能描述 |
| re.match(pattern,string,flags=0) | 用于从字符串的开始位置进行匹配,如果起始位置匹配成功,结果为Match对象,否则结果为None。 |
| re.search(pattern,string,flags=0) | 用于在整个字符串中搜索第一个匹配的值,如果匹配成功,结果为Match对象,否则结果为None. |
| re.findall(pattern,string,flags=0) | 用于整个字符串搜索所有符合正则表达式的值,结果是一个列表类型。 |
| re.sub(pattern,repl,sreing,count,flags=0) | 用于实现对字符串中指定子串的替换 |
| re.split(pattern,string,maxsplit,flags=0) | 字符串中的split()方法功能相同,都是分隔字符串 |

python 复制代码
import re#导入正则表达式处理模块
pattern='\d\.\d+'
#\d------------表示0~9的整数,点表示转义字符
s='i study python3.22 everyday'#匹配字符串
match=re.match(pattern,s,re.I)
# 在 Python 中,re.match(pattern, s, re.I) 表示使用正则表达式模式 pattern 从字符串 s 的起始位置进行匹配,
# 其中 re.I 是一个标志位,表示匹配时不区分大小写。
print(match)#None
s2='3.11python i study every day'
match2=re.match(pattern,s2)
print(match2)#<re.Match object;span=(0,4),match='3.11'>

print('匹配值的起始位置:',match2.start())
print('匹配值的结束位置:',match2.end())
print('匹配区间的位置元素:',match2.span())
print('待匹配的字符串:',match2.string)
print('匹配的数据:',match2.group())
# 匹配值的起始位置: 0
# 匹配值的结束位置: 4
# 匹配区间的位置元素: (0, 4)
# 待匹配的字符串: 3.11python i study every day
# 匹配的数据: 3.11

以下是search的用法,总的来说,search可以找到数都是没办法找全

python 复制代码
pattern='\d\.\d+'
s='i study python3.11 every day python 2.7'
match=re.search(pattern,s)
s2='4.10 python i study every day'

s3='i study python every day'

match2=re.search(pattern,s2)
match3=re.search(pattern,s3)#None
print(match)
print(match2)
print(match3)

print(match.group())#3.11
print(match2.group())#4.10
#不用写match3因为match3是空字符串

findall

python 复制代码
import re
pattern='\d\.\d+'
s='i study python3.11 every day python 2.7'
s2='4.10 python i study every day'
s3='i study python every day'
lst=re.findall(pattern,s)
lst2=re.findall(pattern,s2)
lst3=re.findall(pattern,s3)

print(lst)
print(lst2)
print(lst3)

#['3.11', '2.7']
# ['4.10']
# []
python 复制代码
import re
pattern='黑客|破解|反爬'
s='我想学习Python反爬'
new_s=re.sub(pattern,'XXX',s)
print(new_s)
#我想学习PythonXXX

s2='https://cn.bing.com/search?q=xy'
pattern2='[?|=]'
lst=re.split(pattern2,s2)
print(lst)
#['https://cn.bing.com/search', 'q', 'xy']
相关推荐
2501_946675648 分钟前
Flutter与OpenHarmony打卡轮播图组件
java·javascript·flutter
ray96315 分钟前
Python——函数参数传递方式
开发语言·python
独自破碎E16 分钟前
Spring Boot 3.x和2.x版本相比有哪些区别与改进?
java·spring boot·后端
BullSmall16 分钟前
Socket中断原因与处理全攻略
开发语言
十五年专注C++开发16 分钟前
浅谈Qt中的QSql模块整体设计
开发语言·数据库·c++·qt
梅羽落21 分钟前
python武器化开发_01
开发语言·python·php
Joe_Blue_0225 分钟前
Matlab 入门案例介绍——如何创建脚本
开发语言·matlab·matlab 入门案例
坚持学习前端日记25 分钟前
个人运营小网站的最佳策略
java·学习·程序人生·职场和发展·创业创新
幽络源小助理31 分钟前
SpringBoot+Vue美食网站系统源码 | Java餐饮项目免费下载 – 幽络源
java·vue.js·spring boot
k***921631 分钟前
C++:继承
java·数据库·c++