# Regex problem



## pittjupp (27. September 2010)

Hallo


```
<tr id="ctl00_ctl00_decoratedArea_contentArea_articleGeneralData_mileageRow" valign="top">
	<td class="c1">
				<span>Kilometerstand:</span>
			</td>
	<td class="c2">
				<span>5.536 km</span>
			</td>
</tr>
```

Ich möchte gerne <span>5.536 km</span>
auslesen aber irgendwo steckt ein Fehler drin


```
Regex regex2 = new Regex("<tr id=\\\"ctl00_ctl00_decoratedArea_contentArea_articleGeneralData_mileageRow\\\"td class=\\\"c2\\\"\\<span>(?<Brutto>[^\\>]*)", RegexOptions.CultureInvariant | RegexOptions.Compiled);
                //Regex titlematch = new Regex(@"(?<=<h1 class.*>)([\s\S]*)(?=</h1>)"); 

                string input2 = regex2.Match(this.HTML).ToString();
                string km = input2.Replace("<span>", "");
```

Vielleicht findet ihr ihn ja. Ich verzweifele 

Gruß
Marc


----------



## deepthroat (27. September 2010)

Hi.

Das ist C# / .NET, oder?

Was meinst du es ist ein Fehler drin? Was funktioniert denn nicht?

Ich bekomme zur Laufzeit diese Ausnahme:

```
System.ArgumentException: "<tr id=\"ctl00_ctl00_decoratedArea_contentArea_articleGeneralData_mileageRow\"td class=\"c2\"\<span>(?<Brutto>[^\>]*)" wird analysiert - Verweis auf den nicht definierten Gruppennamen span.
```
Gruß


----------



## pittjupp (27. September 2010)

Hi

ja c#
ich möchte das er mir das ausgibt

5.536 km

Gruß
marc


----------



## deepthroat (27. September 2010)

pittjupp hat gesagt.:


> Hi
> 
> ja c#
> ich möchte das er mir das ausgibt
> ...


Was du möchtest hab ich verstanden.

Aber Was kommt denn jetzt raus? Was funktioniert nicht?

Und warum hast du denn soviele Backslashes da drin? Überlege einfach mal welche überhaupt notwendig sind.

Außerdem passt dein reg. Ausdruck nicht mal ansatzweise. Bei dir müßte nach _mileageRow direkt ein \"td kommen...

Und ich würde die Singleline Option verwenden.

Gruß


----------



## pittjupp (27. September 2010)

Es kommt

System.Text.Regular.Expressions.MatchCollection


----------



## deepthroat (27. September 2010)

Aha. Das heißt also das es ziemlich unsinnig ist die ToString Methode aufzurufen.

Es gibt übrigens auch eine Regex.Replace Methode.

Und es gibt gute Beispiele im Netz. einfach mal  (http://msdn.microsoft.com/de-de/library/system.text.regularexpressions.regex(VS.80).aspx)

Gruß


----------



## pittjupp (28. September 2010)

Morgen

das heißt man kann nur einen Tag suchen und nicht mehere****
Bei nur einem geht das.

Gruß
Marc


----------

