Regex -- was überseh' ich?
-
Hi!
Ich kapier nicht warum manche Regex funktionieren und andere nicht. Am besten ich zeig ein Beispiel:
=> hier werden die drei Zeichen zwischen den Klammern gefunden und alle “Begierde”-Einträge rausgefiltert.
=> “Null oder mehr Zeichen” findet die drei Zeichen nicht und “Begierde”-Folgen werden angezeigt.
=> “Ein oder mehr Zeichen” findet die drei Zeichen auch nicht.<verwirrt am kopf kratz>
Besten Dank für jeden Hinweis!
s.macOS 10.14.6 (18G87)
MV 13.3.0
Java 11.0.3 -
@sdlgak
Versuch mal#:(Spuren des Bösen).*(?<!Begierde)
Mit .* bist Du schon am Ende der Zeile und ein Look-Ahead findet nichts mehr. Mit Look-Back könnte das eher funktionieren. -
@MenchenSued
Danke!
“Greedy” also war der Kern des Problems.
So geht’s dann auch:#:(Spuren des Bösen).{1,3}(?!Begierde).*
({0,3}
nimmt er nicht, aber das ist dann nicht mehr wichtig.)