当前位置: 首页 > news >正文

Ciallo~(∠・ω・ )⌒☆第二十一篇 入门re 正则表达式

在Python中,re模块是用于处理正则表达式的模块。使用re模块,可以通过正则表达式来匹配、查找、替换字符串。

下面是一些re模块常用的方法:

re.match(pattern, string):从字符串的开始位置匹配一个模式,如果匹配成功,则返回一个匹配对象,否则返回None。

result = re.match(r"abc", "abcabcd")
print(result)

输出:

<re.Match object; span=(0, 3), match='abc'>

re.search(pattern, string):在字符串中搜索匹配模式的第一个位置,如果匹配成功,则返回一个匹配对象,否则返回None。

result = re.search(r"abc", "abcabcdabcde")
print(result)

输出:

<re.Match object; span=(0, 3), match='abc'>

re.findall(pattern, string):在字符串中搜索匹配模式的所有位置,并以列表形式返回所有匹配的字符串。

result = re.findall(r"\d{2,4}?", "123456789")
print(result)

输出:

['12', '34', '56', '78']

re.sub(pattern, repl, string):用指定的替换字符串将匹配模式的所有位置替换,然后返回替换后的字符串。

result = re.sub(r"a\dc", "醒醒啦", "a1ca2cda3cde", count=2)
print(result)

输出:

醒醒啦醒醒啦da3cde

此外,还有字符串中的关键词检索:

\W 非 数字 字母 下划线
\d 数字
\D 非数字
\s 空白
\S 非空白
. 任意字符 除了\n 除非使用re.S 可以匹配所有
^ 开头 re.M 可以匹配\n
$ 结尾 re.M 可以匹配\n

 在检索后面可以加上*,+,?使用贪婪匹配:

* 代表有>=0 个
+ 代表有>=1 个
? 代表有 1 个 或者0个

如果不想使用贪婪匹配,那么需要加上非贪婪:

非贪婪: 尽可能匹配少个数

在贪婪模式后方追加一个?

{n} 匹配n次,{m,n} 匹配m-n次,{m,n}? 非贪婪匹配

result = re.findall(r"\d{2,4}?", "123456789")
print(result)

输出:

['12', '34', '56', '78']

[] 匹配其中一个,| 或者,() 分组

result = re.findall(r"[1-9]|[a-z]", "123456789abcdxyzABCDXYZ")
print(result)

输出:

['1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'x', 'y', 'z']


http://www.mrgr.cn/news/7820.html

相关文章:

  • 【计算机三级-数据库技术】操作题大题(第七套)
  • 机械学习—零基础学习日志(如何理解概率论7)
  • 剪辑视频工具分享,这4款值得收藏
  • C语言-输出菱形
  • C语言刷题日记(附详解)(2)
  • 鲲鹏服务器安装Kafka
  • SQL server 2008 获取当前年,季度 和月的最后一天
  • 【C++ 面试 - 面向对象】每日 3 题(十)
  • 常用的分类算法及其优缺点
  • DevEco Studio 预览器报错踩坑
  • AI大模型日报#0823:GPT-4无师自通预测蛋白质结构登Nature子刊、豆包版《Her》升级上新
  • 设计模式-命令模式
  • 【大数据算法】一文掌握大数据算法之:时间亚线性算法。
  • 获取阿里云Docker镜像加速器地址
  • Linux(CentOS7)虚拟机安装教程
  • Appium学习
  • Redis:Redis为什么快
  • 若依/vue2引入threejs展示glb/gltf模型,以及画布截图功能
  • 如何选择需求跟踪管理软件?8款优质推荐
  • 数据结构-栈与队列-数组和链表的推广运用-第六天