1

ファイル内の正しい単語を検索して見つけようとしています

 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」のみを入力すると、スクリプトはそれを見つけます。

ファイル内に完全な単語が見つかった場合に True を返すスクリプトを作成するにはどうすればよいですか?

4

1 に答える 1

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
于 2013-08-05T10:20:04.147 に答える