Verstehe einen Regex nicht
Verfasst: Dienstag 2. August 2016, 22:07
Hallo zusammen,
Ich möchte in einer Liste solche Elemente identifizieren, die ein bestimmtes Zeichen nicht enthalten.
In der Liste gibt es viele Elemente, die auf eine der beiden folgenden Arten aufgebaut sind:
Ich möchte nun einen Regex haben, der mir solche Strings, in denen '\]( +|)=' NICHT vorkommt. Also: Nur die erste Variante soll matchen.
Ich habe Gegoogled und bin auf die so genannten "Negative Lookahead"s gestoßen. Diese sollen angeblich so funktionieren:
und, soweit ich das verstehe: Genau das tun. In meinem Fall sollte also:
doch genau zu dem führen, was ich brauche, oder?
Ich meine den String wie folgt zu beschreiben:
^ = Beginn
.* = Irgendwas
(?!\]) = KEINE ]
( +|) = kein, ein oder mehrere Leerzeichen
.* = Irgendwas
$ = Ende
Wo ist mein Fehler? Laut Pythex stimmt da was nicht ...
Ich möchte in einer Liste solche Elemente identifizieren, die ein bestimmtes Zeichen nicht enthalten.
In der Liste gibt es viele Elemente, die auf eine der beiden folgenden Arten aufgebaut sind:
Code: Alles auswählen
BLAHBLAH="FOO"
SCHNICKSCHNACK["0815"]="BAR"
Ich habe Gegoogled und bin auf die so genannten "Negative Lookahead"s gestoßen. Diese sollen angeblich so funktionieren:
Code: Alles auswählen
(?!xxx)
Code: Alles auswählen
^.*(?!\])( +|).*$
Ich meine den String wie folgt zu beschreiben:
^ = Beginn
.* = Irgendwas
(?!\]) = KEINE ]
( +|) = kein, ein oder mehrere Leerzeichen
.* = Irgendwas
$ = Ende
Wo ist mein Fehler? Laut Pythex stimmt da was nicht ...