python3kmp字符串匹配的方法-创新互联
先声明,本人菜鸟一个,写博客是为了记录学习的过程,以及自己的理解和心得,可能有的地方写的不好,希望大神指出。。。
创新互联为企业级客户提高一站式互联网+设计服务,主要包括网站建设、成都网站制作、重庆App定制开发、小程序开发、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。抛出问题
给定一个文本串test_str(被匹配的字符串)和模式串pat_str(需要从文本串中匹配的字符串),从文本串test_str中找出模式串pat_str第一次出现的位置,没有的话返回 -1
暴力方式
在说kmp之前,我们先来讲下“暴力方式“,也就是说我们最原始的方法。
text_str = 'asdabcdace' pat_str = 'abcdace' def str_match(text_str,pat_str): for i in range(0,len(text_str)): j = 1 while j < len(pat_str): if text_str[i:i+j] != pat_str[0:j]: #从text_str第i个字符开始,看匹配是否成功 break #匹配失败,直接跳出循环,i+1,继续从第一个字符匹配 j += 1 #匹配成功就继续匹配下一个字符,知道pat_str每个字符都匹配完 if j == len(pat_str): return i return -1 print(str_match(text_str,pat_str))
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:python3kmp字符串匹配的方法-创新互联
标题网址:http://azwzsj.com/article/djgdoj.html