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程序设计有所帮助。
热门推荐
2 红丝绒戚风蛋糕
3 夹心小甜点
4 南瓜甜点
6 粘米粉蒸蛋糕
7 酸奶华夫饼
9 红柚鸡蛋糕
10 葡萄干蛋糕
11 紫薯蛋糕卷
13 纸杯裱花小蛋糕
14 果酱奶酪蛋糕
15 日式樱花蔓越莓大福
16 草莓蛋糕卷
17 卡仕达长崎杯子蛋糕