Autor Beitrag
ebber
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 239
Erhaltene Danke: 1

Win XP, Win 7
C# (VS 2010), Delphi (2007), Expression 4
BeitragVerfasst: Fr 10.04.09 15:38 
Hallo,

ich suche mit diesem Pattern in einem Text nach einem Match:

ausblenden C#-Quelltext
1:
  Regex.Match(text, "<font style=\"color:#FFFFFF;\">[0-9]+ KB</font></p>").Value;					


Eigentlich möchte ich aber nur das [0-9]+. Deshalb suche ich jetzt noch ein zweites mal, aber könnte ich das auch gleich irgendwie in das Pattern einbauen?

MfG
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 10.04.09 17:26 
Wenn du den Teil einklammerst, erschaffst du damit eine Group. Ansprechen kannst du sie dann über match.Groups[1] (Gruppe #0 ist der gesamte Match).

_________________
>λ=
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Fr 10.04.09 17:40 
Hallo,

du kannst die Gruppen auch benennen, indem in der Klammer folgendes zu beginn schreibst ?<groupname>.

In deinem Beispiel:

Match match = Regex.Match(text, "<font style=\"color:#FFFFFF;\">(?<size>[0-9]+) KB</font></p>");

Auf eine Gruppe kannst du, wie Kha bereits sagte, anonym (über den index) zugreifen oder bei benannten Gruppen mit dem Gruppennamen.

string sFileSize = match.Groups["size"].Value;

Gruß Daniel
ebber Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 239
Erhaltene Danke: 1

Win XP, Win 7
C# (VS 2010), Delphi (2007), Expression 4
BeitragVerfasst: Fr 10.04.09 19:07 
Danke.

So funktioniert es :)