Regex, um MINUS mit Leerzeichen - Python, Regex, Regex-Gruppe

Ich muss eine Regex so definieren, dass:

r"[ - &]"

Also, hier spaceMINUSspace sollte als eine Sache genommen werden.

für zB:

es sollte Zeichenfolge wie folgt übereinstimmen: foo - bar und foo&bar. Es sollte nicht mit so etwas übereinstimmen foo-bar.

Bitte schlagen Sie vor, wie ich das mache.

Antworten:

1 für die Antwort № 1

Sie können versuchen, zu verwenden re.matchmit dem folgenden Muster:

.*w+(?:( - )|&)w.*

Dies bedeutet, dass zwei Wörter übereinstimmen, die durch beide getrennt sind - oder &. Hier ist ein Code-Snippet:

line = "foo - bar"
match = re.match( r".*w+(?:( - )|&)w.*", line, re.M|re.I)

if match:
print "Found this match: ", match.group()

Oder, wie @Sean darauf hingewiesen hat, könnten wir verwenden re.search:

line = "foo - bar"
pattern = re.compile(r"w+(?:( - )|&)w")

if pattern.search(line):
print "Found this match: ", line