| 

.NET C# Java Javascript Exception

0
Sprache: C#

Ich will aus dem hier Wörter rausfiltern:

<tr style="background:#FFFFFF"> 
<td style="width:210px;height:30px;padding-left:3px;">
<a href="DAS HIER">DAS HIER&nbsp;</a>
</td>
<td style="width:80px;height:30px;text-align:center;">
<a href="/Profil/923830">DAS HIER</a>
</td>
<td style="width:30px;height:30px;text-align:center;">
308
</td>
<td style="width:134px;height:30px;text-align:center;padding-right:3px;">
31.05.2011 22:03 Uhr<br /><a href="/Profil/923830">DAS HIER</a>
</td>
</tr>


Das klappt auch alles mit (?<DASHIER>.*?) usw.
Aber ich hab bis jetzt für alle einzelne Teile einen extra Patter gegschrieben, aber ich will alles in einem also "(?<DAS>.*?)alle zeichen bis das kommt dann (?<DASHIERAUCH>.*?) dann wieder beliebige zeichen bist das kommt (?<UNDDAS>.*?).

Ist das möglich? = )
Kann jemand den Patter schnell schreiben, dass ich das sehe wie das gemacht wird?

Bedanke mich schonmal.

MfG
31.05.2011
Gast
1 1 1
3 Antworten
1
Meinst du sowas hier?

<a href="DAS HIER".*?(?<DASHIER>.*?)</a>.*?<a href="/Profil/(?<PROFILID>\d*?)".*?<td.*?">\s*?(?<IRGENDEINENUMMER>\d*?)\s*?</td>.*?<td.*?">\s*?(?<DATUM>(\d{1,2}.)*?) Uhr


Für den oberen Ausdruck musst du die RegEx-Option "DotMatchNewLine" bzw. in .Net "RegexOptions.Singleline" aktivieren. Dann kannst du mit ".*?" beliebig viele Zeichen überspringen.

Erklärung zu ".*?"

// .*?
//
// Match any single character «.*?»
// Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»


im gegensatz zu ".*"

// .*
//
// Match any single character «.*»
// Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»


Oder mit einachen Worten: ".*" versucht so viel wie mölich zu treffen. ".*?" so wendig wie möglich.
01.06.2011
Floyd 14,6k 3 9
0
Ein Pattern dafür kann ich dir jetzt nicht wirklich liefern. Aber ich würde das auch nicht mit Regex lösen, sonder versuchen über das DOM an die einzelnen Werte zu kommen. Dafür eignet sich z.B. das Html Agility Pack ganz gut.
01.06.2011
Noffls 215 4
0
Danke geht, aber ich bekomm immer noch paar Sachen zurück die ich nicht brauche. : )
Kannst mir vil. in Skype helfen?
Bin grad online ^^
01.06.2011
ZebRa 221 1 8
1
Bin in 20-40 Minuten erst zuhause.
Floyd 01.06.2011
wenn meine Antwort hilfreich war, akzeptiere sie doch bitte.
Floyd 03.06.2011

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH