2009-04-06 14 views
1
 1 <span class='Txt9Gray'>Decisions (</span> 

Ich versuche, die 1 von dieser Zeichenfolge zu greifen. Vor dem 1 ist noch ein span, aber ich kann das nicht als Marker verwenden, da es von Seite zu Seite wechseln kann. Gibt es einen Regex-Ausdruck, der einfach die 1 aufnehmen kann?Ein Weg zu RegEx eine Nummer ohne ein Präfix-Tag?

Das Wort Decisions wird immer existieren. Das ist mein Hauptweg, um diese Linie zu finden. Hier ist, was ich habe ohne Erfolg versucht:

strRegex.Append("(?<strDecisionWins>[^<]+)[\s]*? 
    <span class='[\s\w\W]*'>\bDecisions\b \([\s\w\W]*?</span>") 

Dies hält die spans vor dem eigentlichen 1 greifen. Die durchgezogene Linie die oben enthält, ist:

<span class='Txt9Gray'>(T)KOs (</span> 66.67 <span class='Txt9Gray'>%) </span> <br /> 1 <span class='Txt9Gray'>Decisions (</span> 33.33 <span class='Txt9Gray'>%) </span> <br /> 

Das Problem ist, dass das Spiel der ersten Stunde wird passend, anstelle des aus einem Stück.

+0

gefolgt:

Die Vorgriffs-Technik kann mit anderen regulären Ausdruck dergleichen kombiniert werden Wie sieht die ganze Linie aus? –

+0

%)
1 %)
- Problem ist, dass das Spiel den Anfang von dem, was ich gerade gepostet habe, anstelle des einen Stückes entspricht. – jlrolin

+0

Ich habe Ihren Kommentar in der Frage bearbeitet, damit jeder ihn sehen kann, ohne Kommentare lesen zu müssen. – Eddie

Antwort

1

Wie wäre:

\d+(?=\s*\<[^\>]+\>[^\<]*\bDecisions\b) 
\d+(?=\s*<[^>]+>[^<]*\bDecisions\b) 

, dass nur 1 wählen würde (und sonst nichts)

Die zweite Form ist für regex Prozessor, der braucht nicht < und > zu entkommen.

Die Vorgriffs-Ausdruck (?=...) garantiert eine Anzahl \d+ gefolgt von einem Element wählen() einen Text (dh keine Öffnung ‚<‘: [^<]*) enthält, der das Wort enthält Decisions.

\s\d(?=\s*\<[^\>]+class\s*=\s*'Txt9Gray'[^\>]*\>) 
\s\d(?=\s*\<[^>]+class\s*=\s*'Txt9Gray'[^>]*>) 

würde eine einzelne Ziffer greifen (vorausgesetzt, es folgt ein Raum), die durch ein Element enthält, das Attribut ‚class='Txt9Gra y‘‘

+0

+1, aber es scheint, dass die < & > nicht notwendig ist (es wird nicht einmal unterstützt). –

+0

@Lieven: guter Punkt: Ich schlage jetzt beide Formen vor – VonC

Verwandte Themen