2017-06-11 4 views
0

Ich versuche zu überprüfen, ob Zeichenfolge bestimmte Wörter in einem bestimmten Muster enthält, Groß-und Kleinschreibung ignorieren und die Reihenfolge ignorieren. Wie kann ich es im regulären Ausdruck tun?Verwenden Sie RE, um die Übereinstimmung von Wörtern zu finden

Dies ist das Muster, das ich will:

'word1-word2' 

sollten Diese Strings entsprechen:

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

Diese Strings nicht übereinstimmen sollte:

['word3-word2','word1word2'] 

Antwort

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

Vielen Dank! Es spart mir viele Codezeilen – pnina

0

Vielleicht so etwas wie:

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

Verwenden Anker:

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) 
Verwandte Themen