regex match

theplake

Erfahrenes Mitglied
Hi Leute

Ich brauch einen Regulären Ausdruck wenn ich in einem String die Zahl haben will die nach einem bestimmten Wort steht.

Beispiel: "hall0 ihr da der 33 Besuch...";

In dem Fall möchte ich immer die Zahl hinter dem Wort "der" haben.

"\d+" <-- soweit bin ich schon :)
 
Hallo theplake

Eine Möglichkeit wäre folgendes:
Code:
\sder\s(\d+)\s

Und in der Anwendung entsprechend immer Group 2 (basisindex 1) nehmen welche das (\d+) ist.

Beispiel:
C#:
            System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\sder\s(\d+)\s");
            string str = "das ist der 33 test mit der 22 string und alles ist der 231532 der nichts der 090 und der 00232nicht wird";
            var matches = regex.Matches(str);
            foreach (System.Text.RegularExpressions.Match match in matches)
            {
                Console.WriteLine(match.Groups[1].Value);
            }

Gibt dir aus:
33
22
231532
090

Gruss
Cromon
 

Neue Beiträge

Zurück