[C#|RegEx] - Pattern wird nicht aufgelöst

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
  • Huhu,


    Habe gerade einen ganz komischen Fehler... Auf der Homepage RegEx101 funktioniert das Pattern wunderbar...
    https://regex101.com/r/8KhOiH/9
    Aber in meinem Code Funktioniert es leider nicht, die (Match.Success Funktion) ist immer False...


    Die Funktion worin die RegEx Formeln auftreten...

    Code
    Match Res = new Regex(StatsExArray[KeyID, 1], RegexOptions.IgnoreCase).Match(DLGLASTTEXT);
    
    
            public static string[,] StatsExArray = new string[,]
            {
                {"Geld",@"Geld:\[\$([\d\.]+)\]","1"},
                {"Bank",@"Bank:\[\$([\d\.]+)\(\+\$([\d\.]+)\)\]","2"}
            };


    Bekomme immer die Meldung: "Match Failed" im Chat...
    Hat jemand eine Idee?
    Geld wird ausgelesen...
    Aber Bank macht Probleme...


    String: Bank:[$8.013.282(+$12.000.000)]


    Pattern: Bank:\[\$([\d\.]+)\(\+\$([\d\.]+)\)\]

  • Dein pattern geht ja, ich denke du hast da irgendwas anderes falsch gemacht.

    Code
    string pattern = @"Bank:\[\$([\d\.]+)\(\+\$([\d\.]+)\)\]";
    string input = "Bank:[$8.013.282(+$12.000.000)]";
    Match result = Regex.Match(input, pattern);
    if (result.Success) {
    	Console.WriteLine("match1: " + result.Groups[1].Value + ", match2: " + result.Groups[2].Value);
    }

    match1: 8.013.282, match2: 12.000.000

  • Dein pattern geht ja, ich denke du hast da irgendwas anderes falsch gemacht.

    Code
    string pattern = @"Bank:\[\$([\d\.]+)\(\+\$([\d\.]+)\)\]";
    string input = "Bank:[$8.013.282(+$12.000.000)]";
    Match result = Regex.Match(input, pattern);
    if (result.Success) {
    	Console.WriteLine("match1: " + result.Groups[1].Value + ", match2: " + result.Groups[2].Value);
    }

    match1: 8.013.282, match2: 12.000.000

    Ja das Pattern hatte ich Online getestet... Da Funktioniert es super...


    Hab mal aus der Klasse das RegEx-Pattern Array und die Get Funktion kopiert, evtl. fällt dir beim drüber gucken was auf...
    Ich sehe da keinen Fehler warum die Pattern mit 2 Matches nicht gelesen werden bzw. aufgelöst...


    Deine Methode Funktioniert auch nicht, auch nur bei "Geld" aber nicht bei "Bank"

  • Ja, nicht direkt... Da es so eig auch gehen sollte(?)


    Das ist der String aus dem Statistik Dialog...
    Egal ob ich
    ^Bank:\[\$([\d\.]+)\(\+\$([\d\.]+)\)\][b]$
    oder
    ^Bank:\[\$([\d\.]+)\(\+\$([\d\.]+)\)\]\s


    Hm komisch in AHK gerade mal getestet mit dem Pattern und der GetDialogText() Funktion, da geht es auch...
    Ja, irgendwas mit dem Pattern stimmt anscheindend nicht....