脚本:
import re
matches = ['hello', 'hey', 'hi', 'hiya']
def check_match(string):
for item in matches:
if re.search(item, string):
print 'Match found: ' + string
else:
print 'Match not found: ' + string
check_match('hey')
check_match('hello there')
check_match('this should not match')
check_match('oh, hiya')
出力:
Match not found: hey
Match found: hey
Match not found: hey
Match not found: hey
Match found: hello there
Match not found: hello there
Match not found: hello there
Match not found: hello there
Match not found: this should not match
Match not found: this should not match
Match found: this should not match
Match not found: this should not match
Match not found: oh, hiya
Match not found: oh, hiya
Match found: oh, hiya
Match found: oh, hiya
私が理解していないことがいくつかあります。まず、この出力では各文字列が 4 回検索され、見つかった一致として 2 つを返すものもあれば、3 つを返すものもあります。これを引き起こしているコードの何が問題なのかはわかりませんが、誰かが何が問題なのかを試してみることができますか?
予想される出力は次のようになります。
Match found: hey
Match found: hello there
Match not found: this should not match
Match found: oh, hiya