2017-06-11 112 views
0

我想檢查字符串是否包含特定模式中的特定單詞,忽略區分大小寫並忽略順序。 如何在正則表達式中進行操作?使用RE找到匹配的單詞

這是一種模式我想:

'word1-word2' 

這些字符串應該匹配:

['WORD1-word2','word2-word1'] 

這些字符串不應該匹配:

['word3-word2','word1word2'] 

回答

0
re.match("word1-word2|word2-word1", "WORD1-word2", re.IGNORECASE) 
+0

非常感謝!它爲我節省了許多代碼行 – pnina

0

也許是這樣的:

((?:word|WORD)[1-2]-(?:word|WORD)[1-2]) 
0

使用錨:

import re 

words = ['WORD1-word2','word2-word1', 'word3-word2','word1word2'] 

rx = re.compile(r'^(?:word1-word2)|(?:word2-word1)$', re.I) 

words_new = list(filter(lambda x: rx.search(x), words)) 
print(words_new)