RegEx Multiline

03/03/2015 15:03 nawiat100#1
Hallo alle zusammen ^^

ich hab mal wieder ein RegEx problem. Ich habe diesen Quellcode:

Code:
<th>Buy Price: </th>
<td><span class="gw2money-fragment">1 <i class="gw2money-silver">s</i>
der geht über zwei Zeilen. Ich möchte nun, da die zweite Zeile öffters vorkommt, die Zeile darüber mit filtern um das richtige zu finden.
Mein Code für die zweite Zeile:

Code:
Dim rSilber As New Regex("(?<=class=" & Chr(34) & "gw2money-fragment" & Chr(34) & ">)(.*?)(?= <i class=" & Chr(34) & "gw2money-silver" & Chr(34) & ">s</i>)")
Dim mSilber As MatchCollection = rSilber.Matches(s)
Dieser gibt mir aber anscheind auch das falsche aus, also ganz komisch, kann mir jemand mein Code umbauen das er geht und diesen erklären ?


Danke an alle

Grüße
Peter
03/03/2015 16:14 tolio#2
poste mal den kompletten relevaten abschnitt (div, table, etc) und welche werte du an welcher stelle brauchst
03/03/2015 18:05 nawiat100#3
das ist der komplette Quellcode:

da möchte ich das unter "Buy Price" Ausscheiden(Gold, Silber und Bronze) und die Zahlen jeweils in eine Variable speichern lassen.

Also genau das:
class="gw2money-fragment">3 <i class="gw2money-gold">g</i>
class="gw2money-fragment">3 <i class="gw2money-silver">s</i>
class="gw2money-fragment">12 <i class="gw2money-copper">c</i>

kann mir jemand bitte helfen :( Code mit Erklärung wäre echt nett :)

Edit1:

habs jetzt so versucht:


geht aber leider auch nicht, hab sogar Singleline mit rein genommen :)

und so:


geht auch nicht :D wenn ich das "<th>Buy Price: </th>\n" entferne gehts aber da bekomm ich 5 Matches, will aber nur einen !
03/05/2015 21:20 tolio#4
versuchs mal mit dem pattern, dann kannste über die .Group eigenschaft dann auf die verschiedenen variablen zugreifen:
Code:
gw2money-fragment\">(\d+)\w*?.*?gw2money-fragment\">(\d+)\w*?.*?gw2money-fragment\">(\d+)\w*?
wenn dir das mit den gruppen nicht sagt, [Only registered and activated users can see links. Click Here To Register...], dort pattern und ziel eintragen und dann rechts über dem ziel string auf groups klicken.
03/06/2015 19:56 <SilverVirus>#5
Quote:
Originally Posted by nawiat100 View Post
Code:
lass=" & Chr(34) & "gw2money-[COLOR="Red"][U][FONT="Arial Black"][SIZE="5"]silver[/SIZE][/FONT][/U][/COLOR]" & Chr(34) & ">s</i>)")
Dim mSilber As MatchCollection = rSilber.Matches(s)
SILVER!! <3