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

  • 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....