优草派 > Python

如何对Python文本模式进行匹配?如何使用match()方法进行匹配?

翟嘉慧         优草派

在python编写的时候,我们通常会对字符串进行一些操作,比如对字符串进行查找与匹配,都会用到哪些方法呢?很多小伙伴对此还有些不解,所以今天这篇文章就带大家一起来学习一下有关“Python如何对文本模式进行匹配?如何使用match()方法进行匹配?“。

如何对Python文本模式进行匹配?如何使用match()方法进行匹配?

假设我们想要对python按照我们指定的一种文本模式进行匹配或查找,解决方法举例向大家进行解释,如果只是想要匹配简单的文字,通常可以使用最基本的字符串方法就可以实现,比如这个查找

示例:

text='mark ,美女,20,168,漂亮,mark'
print(text=='mark')
print(text.startswith('mark'))
print(text.startswith('mark'))
print(text.find(美女'))

结果:

False
True
True
6

以上就是一个简单的对字符串进行查找,使用的是函数,比如str.find()可以查找整个字符串中包含的字符串进行统计、str.endswith()字符串的结束字符、str.startswith()一个字符串中,开头的字符。

如果你想要对其他字符串进行复杂的匹配,这里就需要用到正则表达式或者是Re模块了,为了更好的讲解正则表达式的使用流程,我们这里通过举例匹配用一个数字构成的日期,实例如下:

import re
text1='8/1/2022'
text2='Nov 1, 2022'
if re.match(r'\d+/\d+/\d+',text1):
  print('符合模型:数字/数字/数字')
else:
  print('不符合模型:数字/数字/数字')
if re.match(r'\d+/\d+/\d+',text2):
  print('符合模型:数字/数字/数字')
else:
  print('不符合模型:数字/数字/数字')
运行结果:
符合模型:数字/数字/数字
不符合模型:数字/数字/数字

如果打算针对同一模型做多次匹配,那么通常会先将正则表达式模式预编译成一个模式对象。

例如:

import re
text1='8/1/2022'
text2='Nov 1, 2022'
datepat=re.compile(r'\d+/\d+/\d+')
if datepat.match(text1):
  print('符合模型:数字/数字/数字')
else:
  print('不符合模型:数字/数字/数字')
if datepat.match(text2):
  print('符合模型:数字/数字/数字')
else:
  print('不符合模型:数字/数字/数字')
结果:
符合模型:数字/数字/数字
不符合模型:数字/数字/数字

match()方法总是尝试在字符串的开头找到匹配项。如果想针对整个文本搜索出所有的匹配项,那么就应该使用findall()方法,例如:

import re
text='今天是 8/1/2022,昨天是7/31/2022'
datepat=re.compile(r'\d+/\d+/\d+')
print(datepat.findall(text))
运行结果:
['8/1/2022', '7/31/2022']

这篇主要介绍了re模块对文本匹配和搜索的基本功能,首先用re.compile()对模式进行编译,然后使用想match()、findall()这样的方法做匹配和搜索。以上所述是我给大家介绍的如何对Python文本模式进行匹配?如何使用match()方法进行匹配?希望对大家有所帮助,如果大家有任何疑问可以继续关注哦!

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024