Python字符串匹配算法KMP实例
本文实例讲述了Python字符串匹配算法KMP。分享给大家供大家参考。具体如下:
#!/usr/bin/envpython #encoding:utf8 defnext(pattern): p_len=len(pattern) pos=[-1]*p_len j=-1 foriinrange(1,p_len): whilej>-1andpattern[j+1]!=pattern[i]: j=pos[j] ifpattern[j+1]==pattern[i]: j=j+1 pos[i]=j returnpos defkmp(ss,pattern): pos=next(pattern) ss_len=len(ss) pattern_len=len(pattern) j=-1 foriinrange(ss_len): whilej>-1andpattern[j+1]!=ss[i]: j=pos[j] ifpattern[j+1]==ss[i]: j=j+1 ifj==pattern_len-1: print'matched@:%s'%str(i-pattern_len+1) j=pos[j] kmp(u'上海自来水来自海上海',u'上海')
希望本文所述对大家的Python程序设计有所帮助。
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短