Ich muss alle Zeichenfolgen finden, die zu einem Muster passen, mit Ausnahme von zwei angegebenen Zeichenfolgen.Regulärer Ausdruck, der zu allen außer einer Zeichenfolge passt
Suchen Sie beispielsweise alle Buchstabengruppen mit Ausnahme von aa
und bb
. Ausgehend von dieser Zeichenfolge:
-a-bc-aa-def-bb-ghij-
zurückkehren sollte:
('a', 'bc', 'def', 'ghij')
ich mit this regular Ausdruck versucht, die vier Saiten einfängt. Ich dachte, ich würde mir näher kommen, aber (1) es funktioniert nicht in Python und (2) Ich kann nicht herausfinden, wie man ein paar Strings von der Suche ausschließt. (Ja, ich könnte sie später entfernen, aber mein richtiger regulärer Ausdruck macht alles auf einen Schlag und ich möchte diesen letzten Schritt darin einfügen.)
Ich sagte, es funktioniert nicht in Python, weil ich das probiert habe, genau die gleiche Ergebnis erwartet, aber stattdessen bekomme ich nur die erste Gruppe:
>>> import re
>>> re.search('-(\w.*?)(?=-)', '-a-bc-def-ghij-').groups()
('a',)
ich mit negativem Vorgriff versucht, aber ich konnte nicht eine funktionierende Lösung für diesen Fall finden.
Sie wollen ['findall'] (https://docs.python.org/2/library/re.html#re.findall) -' search' soll nur die erste Übereinstimmung zurückgeben :) – cxw