[VB] RegEx an mehreren stellen

04/28/2013 21:43 Ludder231#1
Hi,

ich brauch zum auslesen von ein paar Werten RegEx, aber ich bekomm das mit den Pattern nicht hin bzw. ich kapier das gerade nicht.

PHP Code:
 Durchmesser Regex.Split(s_response"<span id=""diameterContentField""> ZAHL1+KM (<span>ZAHL2</span>/<span>ZAHL3</span>)</span>"
Bei Zahl1 ist eine Zahl und der String KM dahinter, dedoch bin ich mir nicht sicher ob es klüger wäre beides als eines zu Pattern also als string.

ZAHL2 und ZAHL3 sind normle kleine zahlen bis 999 sag ich mal. Wie genau muss ich das jetzt machen? Muss ich bei ZAHL den Pattern eintragen? S_response ist Quellcode von ner Webseite. Ich kenn das von AutoIT so das man das so gemacht hat.

MfG Ludder231
04/28/2013 22:44 dready#2
Denk mal das hier ist was du suchst

[Only registered and activated users can see links. Click Here To Register...]
04/29/2013 09:45 'Heaven.#3
(.*) <- Das überall reinschreiben wo du due werte haben willst, das sollte eig klappen
04/29/2013 09:46 Baaam01#4
Wenn ich jetzt richtig gesehen hab willst du 3 Sachen rausregexen oder?
Ist vlt. nicht die sauberste Pattern Variante, aber für deine Beschreibung sollte es eigtl. dann so aussehen:

Code:
"<span id=""diameterContentField""> (.*?) (<span>(\d+)</span>/<span>(\d+)</span>)</span>"
(.*?) findet alles (da ich nicht weis, was in diesem KM String steht)
(\d+) findet Zahlen

Evtl. musst du noch Zeichen backslashen (=) aber da bin ich mir gerad nicht sicher.
04/29/2013 19:33 Ludder231#5
Ich werds morgen früh mal testen, denke das ist das richtige, denn ich kenn das noch von AutoIT ;)

Hmm habs jetzt schonmal ausprobiert ich bekomm dann aber in meinem String Array gleich den ganzen Quellcode zurück -.-
04/30/2013 11:06 dready#6
Der Vollständigkeit halber ;)

[Only registered and activated users can see links. Click Here To Register...]
04/30/2013 14:51 tolio#7
wenn du ein regex.split machst bekommst du natürlich den ganzen code, (den ganzen code bis auf die stellen die der split waren, die fallen raus)
04/30/2013 15:13 Ludder231#8
und wie kann ich die rausfiltern? also damit ich die alle in einem array hab?
04/30/2013 15:15 tolio#9
1. antwort in diesem thread
05/01/2013 21:55 Ludder231#10
Aso okay,...

Ich habs jetzt mit Regex.Match gemacht aber bekomme ne leere Value ...
PHP Code:
Dim Durchmesser As System.Text.RegularExpressions.Match
Durchmesser 
Regex.Match(s_response"<span id=""diameterContentField"">(.*?) (<span>(.*?)</span>/<span>(.*?)</span>)</span>")

Msgbox(durchmesser.groups(0).value)
 
'MsgBox(Durchmesser.Value) 
05/01/2013 22:11 tolio#11
versuchs mal mit
for each m as match in durchmesser.matches
msgbox(m.value)
next

wenn das auch nicht klappt ist dein ausdruck falsch
05/02/2013 20:00 Ludder231#12
Durchmesser.matches gibts nicht als Expression... Bei Dim Durchmesser As System.Text.RegularExpressions.Match
05/02/2013 20:39 tolio#13
du musst es mit .matches machen und dann mit each durchloopen, google wenn du es nicht hinbekommst noch den grundlagen einer for schleife
05/02/2013 21:50 Ludder231#14
Habs jetzt mit Match.Groups(0).Value hinbekommen .. Danke