2011-01-05 18 views
1
<td align="left"><strong><font color="#000066">LionCash+:</font></strong> 
<strong><font color="#000066">3.67</font></strong></font></td> 

ich mich zurückzukehren einen regulären Ausdruck zu erstellen versuchen „LionCash +: 3.67“Regular Expression Hilfe

„LionCash +:“ kann „Campus Speisen:“ auch sein und es durch das Gleichgewicht folgt wie das Beispiel. Eines oder beide dieser Szenarien sind möglich.

Was ich gerade habe, ist "LionCash \ +: | Campus Essen Plan: | \ d * \. \ D \ d" als meine Regex-Ausdruck. Ich möchte es so, dass es mir den Saldo und den mit dem Saldo verbundenen Titel geben kann, so dass ich den Regex nicht ändern muss, wenn sich der Name des Saldos ändert. Wenn 2 Guthaben vorhanden sind, wird für beide Guthaben "[title] [balance]" zurückgegeben.

Kurz gesagt: Machen Sie den Titel der Bilanz unwichtig für die Regex, aber immer noch Teil dessen, was zurückgegeben wird.

Danke.

+3

Und die erste "das' '

nicht halten kann" in 5 ... 4 ... 3 ... –

+6

Die html + regex Tags zusammen verwendet werden, sollte eine Art automatische auslösen Warnung, wenn die Frage gepostet wird. –

+1

Sie sollten nur die HTML-Tags analysieren und die Werte der Tags, an denen Sie interessiert sind (in Ihrem Fall das Tag "font"), erfassen. Es ist aus einem Grund strukturiert, nutzen Sie es zu Ihrem Vorteil. – Bernard

Antwort

2

Regex ist nicht der richtige Weg, dies zu tun. Wenn es HTML ist: das "HTML Agility Pack". Wenn es XHTML ist, dann XmlDocument oder XDocument. Aber keine Regex.

1

Regexps sind ungeeignet zum Parsen von HTML, da HTML nicht regulär ist. Am besten verwenden Sie eine HTML-Parser-Bibliothek. Sie denken vielleicht, Sie hätten eine passende Regexp, aber Sie werden nicht in der Lage sein, alle Randfälle abzudecken, die Standard-HTML zulässt.

0

Sie können einen Blick auf die folgende Quellcodedatei für die Hilfe nehmen:

http://code.google.com/p/csharptest-net/source/browse/trunk/src/Library/Html/XmlLightParser.cs

können Sie entweder IXmlLightReader implementieren und einfach anrufen, oder die Regex Parsen verwendet extrahieren und zu Herzen Inhalt ändern.

Es unterstützt am meisten HTML, und behandelt Dinge wie Google-Suchergebnisse mit Leichtigkeit. Es ist immer noch nicht ganz so schnell wie die HtmlAgilityPack, die ich sehr empfehlen, wenn Sie etwas Komplexes brauchen. Wenn Sie nur schnell und schmutzig wollen, macht dies den Trick.

- Roger