我目前一直在尝试制作一个朴素的算法,它给出一个模式的一部分,例如在文本中搜索它,例如abbbbaababaabbaaabbaa,一次一个字母。它将a与文本进行比较,如果正确,则比较下一个字母,如果错误,则整个模式将移位一,并将a与b进行比较,依此类推
我们给出了代码示例
print "Input text: ",
text = raw_input()
print "Input pattern: ",
pattern = raw_input()
index = text.find(pattern)
while index > -1:
print index
index = text.find(pattern, index+1)但是python中的find()函数太快了(我想我需要一种非优化的算法,使用while和for loops语句)。
感谢您的帮助,谢谢
发布于 2011-06-01 12:14:07
听起来您正在学习正则表达式,这里有一段代码片段可以帮助您入门。
myFileName = "abbababaaa"
patternToMatch = "ababa"
i = 0
j = 0
while (i < len(myFileName)):
if (patternToMatch[i:i] == myFileName[j:j]):
i++
j++
else:
i = 0
if len(patternToMatch) == i:
# matched a patternhttps://stackoverflow.com/questions/6196128
复制相似问题