我有一個單詞列表(即使2個或3個單詞在1個對象中)。我編譯了一個正則表達式,將列表中的任何單詞匹配到一個隨機字符串。如果匹配,則返回該列表的該對象,否則它將對該字符串執行另一個正則表達式以返回表達式。
我的代碼:
「佈局」是單詞列表,「layout_re」使用列表中的單詞匹配字符串「str」。如果ms存在於列表中,則返回ms,否則使用p
的表達式返回該模式。檢查正則表達式結果在列表中,if-else python
def layout_corr(str):
ms = layout_re.search(str)
if ms in layouts:
ms=ms
else:
p = re.compile(r'(?:\w+\s+){1,2}layout')
ms = re.findall(p,str)
return ms
我得到的輸出是else
語句的輸出。
例如: - str = " no 804 8th main 2nd c cross hrbr layout 1st block"
該列表包含「hrbr佈局」,因此必須返回hrbr佈局。但相反,該函數返回"cross hrbr layout"
這是由else
聲明計算的毫秒。if
語句有什麼問題?
're.search'返回'match'對象(或'None'),而're.findall'返回'list'。兩者都不會返回純粹匹配的對象。 –