因為最近在學習寫linebot,想要使用關鍵字回覆的功能,但是個先前沒有學過程式語言的新手
message = '我肚子很餓,怎麼辦?'
if re.search('我.*?餓.*?怎麼辦',message)
print('去吃泡麵')
是可行的
但若
message = '怎麼辦我肚子好餓~'
就不行了,三個關鍵字中間出現順序性,
想要三個關鍵字中間不要出現順序性,且要三個關鍵字同時出現就可以print出我想要的字句
想要請問該怎麼解決呢?
if re.search('.*?我.*?',message) and re.search('.*?餓.*?',message) and re.search('.*?怎麼辦.*?',message)
print('去吃泡麵')
詞組中必定出現但無關順序......不用那麼多AND啦...
import re
fre = re.compile(r'(?=.*怎麼辦)(?=.*我)(?=.*餓)')
if(fre.search("我肚子好痛怎麼辦~")):
print("符合條件")
else:
print("不合條件")
輸出: 不合條件
import re
fre = re.compile(r'(?=.*怎麼辦)(?=.*我)(?=.*餓)')
if(fre.search("我肚子好餓怎麼辦~")):
print("符合條件")
else:
print("不合條件")
輸出: 符合條件
import re
fre = re.compile(r'(?=.*怎麼辦)(?=.*我)(?=.*餓)')
if(fre.search("他肚子不餓怎麼辦~")):
print("符合條件")
else:
print("不合條件")
輸出: 不合條件