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程序设计有所帮助。
热门推荐
10 客户去旅游祝福语简短
11 团队虎年祝福语简短霸气
12 元旦祝福语同学简短创意
13 如果不结婚祝福语简短
14 年末祝福语简短小清新
15 圣诞圣节祝福语简短
16 对好友的祝福语简短
17 立春幽默祝福语简短
18 升大学祝福语简短女生