如何在python中找到一个单词

时间:2013-08-05 10:09:31

标签: python file search

我试图搜索并在文件中找到正确的单词

 file = ('data.bin', '+r')
 Filefind = file.read()
 f = raw_input("search a word: ")
 While f in Filefind:
        print "this word is found!"

这段代码实际上找到了我输入的单词,但即使它没有完全输入,它也会找到该单词 例如,如果我在文件中有“findme”字样,如果我在raw_input中只输入“fi”,脚本就会找到它

如果在文件中找到完整的单词,如何编写一个返回我的脚本?

1 个答案:

答案 0 :(得分:4)

regex与字边界一起使用:

import re
def search(word, text):
    return bool(re.search(r'\b{}\b'.format(re.escape(word)), text))
... 
>>> search("foo", "foobar foospam")
False
>>> search("foo", "foobar foo")
True