首页 > 编程语言 >Python实现字符串模糊匹配

Python实现字符串模糊匹配

时间:2023-04-15 20:13:26浏览次数:35  
标签:匹配 re Python pattern2 print pattern1 teststr 字符串

  在一个字符串中,有时需对其中某些内容进行模糊匹配以实现条件的判定,如在“你好,hello,world”中判断是否含有“llo”。Python中通过re.search()方法实现,特别地,对于首位起始的内容匹配,也可通过re.match()方法实现。若匹配成功,它们返回一个re.Match对象;若匹配失败,返回None。


re.search()实现模糊匹配

import re

teststr = "你好,hello,world"
print('\n',teststr,'\n')

pattern1 = "llo"
r1 = re.search(pattern1, teststr)
if r1:
    print(pattern1,'匹配成功.')
else:
    print(pattern1,'匹配失败.')


pattern2 = "你好"
r2 = re.search(pattern2, teststr)
if r2:
    print(pattern2,"匹配成功.")
else:
    print(pattern2,"匹配失败.")



re.match()实现首位起始的模糊匹配

teststr = "你好,hello,world"
print('\n',teststr,'\n')

pattern1 = "llo"
r1 = re.match(pattern1, teststr)
if r1:
    print(pattern1,'匹配成功.')
else:
    print(pattern1,'匹配失败.')

pattern2 = "你好"
r2 = re.match(pattern2, teststr)
if r2:
    print(pattern2,"匹配成功.")
else:
    print(pattern2,"匹配失败.")


End.

标签:匹配,re,Python,pattern2,print,pattern1,teststr,字符串
From: https://www.cnblogs.com/flyup/p/17321750.html

相关文章

  • shell字符串
    8shell字符串详解没有引号、单引号、双引号区别:单引号:只能存字符串,变量无效。并且里面不能再出现单引号双引号:变量有效,可以出现多个双引号支持转义没有引号:变量有效,但需要连接在一起 获取字符串长度:${#name} 9字符串连接#!/bin/bashname="Shell"url="http://c.bia......
  • Python之虚拟环境venv实战详解
     安装配置虚拟环境virtualenv官方给出的建议是最好在一开始就创建虚拟环境。在不同环境下,我们使用不同命令,即可创建出一个名为venv的虚拟环境最简的方式是使用python指令之间创建#windowspython-mvenvvenv#linux/macospython3-mvenvvenvWindows重点讲解......
  • Python3基本请求库-urllib
    urlliburlopen一个基本请求fromurllibimportrequest,parsedefApi():#禁用证书验证ssl._create_default_https_context=ssl._create_unverified_contextresponse=request.urlopen('https://www.baidu.com/')print(response.read().decode(�......
  • 总结与归纳之字符串
    (大的不能在大的坑)前言总论+前置芝士正文字符串哈希KMP算法传统KMP算法Z函数fail树KMP自动机Trie与AC自动机普通Trie01Trie可持久化TrieAC自动机SA相关SA传统SAM广义SAM后缀平衡树ManacherPAM序列自动机最小表示法玄学:Lyndon分解总结......
  • 深入理解 python 虚拟机:字节码教程(3)——深入剖析循环实现原理
    深入理解python虚拟机:字节码教程(3)——深入剖析循环实现原理在本篇文章当中主要给大家介绍cpython当中跟循环相关的字节码,这部分字节码相比起其他字节码来说相对复杂一点,通过分析这部分字节码我们对程序的执行过程将会有更加深刻的理解。循环普通for循环实现原理我们使......
  • 一文弄懂Python中的内存管理
    1.引言Python是一种解释性语言,这意味着它在运行之前不需要编译。当Python程序运行时,它会动态地为所有变量和对象分配相应的内存。这意味着Python的内存管理是自动处理的,使得开发人员能够专注于编写代码,而不用担心相关内存分配和释放。本文就Python的内存管理进行详述,闲话少说,我们......
  • [oeasy]python00134_[趣味拓展]python起源_历史_Guido人生_ABC编程语言_Tanenbaum
    python历史回忆上次内容颜文字是kaomoji把字符变成一种图画的方法一层叠一层很多好玩儿的kaomoji是一层层堆叠起来的meme虚拟的表情也在真实世界有巨大影响一步步地影响字符编码就是这样一步步发展过来的python也是一步步发展到今天的python究竟是怎么发展的呢?......
  • [oeasy]python00134_[趣味拓展]python起源_历史_Guido人生_ABC编程语言_Tanenbaum
    python历史回忆上次内容颜文字是kaomoji把字符变成一种图画的方法一层叠一层很多好玩儿的kaomoji是一层层堆叠起来的meme ​ 添加图片注释,不超过140字(可选) 虚拟的表情也在真实世界有巨大影响一步步地影响 ​......
  • Python 使用Matplotlib绘制可拖动的折线
    Python使用Matplotlib绘制可拖动的折线效果图: 可以拖曲线上的点调整,也可以拖旁边的sliderbar调整.  代码如下:importmatplotlib.animationasanimationfrommatplotlib.widgetsimportSlider,Buttonimportpandasaspdimportmatplotlibasmplfrommatpl......
  • 1023. 驼峰式匹配
    题目链接:1023.驼峰式匹配方法:双指针解题思路对于当前询问\(query\)和模式串\(pattern\),初始化两个指针分别指向起始位置。若两个字符相同则都右移一位;否则判断当前\(query\)对应的字符是否为大写字母,若是则返回\(false\),否则其指针右移一位;若有一个指针到达结尾,则结......