Regex -- was überseh' ich?



  • Hi!
    Ich kapier nicht warum manche Regex funktionieren und andere nicht. Am besten ich zeig ein Beispiel:

    Screenshot "...".png => hier werden die drei Zeichen zwischen den Klammern gefunden und alle “Begierde”-Einträge rausgefiltert.

    Screenshot ".*".png => “Null oder mehr Zeichen” findet die drei Zeichen nicht und “Begierde”-Folgen werden angezeigt.

    Screenshot ".+".png => “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


  • Globaler Moderator

    @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.)


Log in to reply
 

55
Online

3.5k
Users

2.8k
Topics

18.1k
Posts