|
You last visited: Today at 03:28
Advertisement
VB RegEx
Discussion on VB RegEx within the .NET Languages forum part of the Coders Den category.
07/09/2013, 00:12
|
#1
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
VB RegEx
Hi,
ich würde aus nem Quellcode ein paar ID's auslesen. Mit BetGetween geht alles super. Nur da es von den ID's mehrere im Quelltext gibt, brauch ich regEx Matches.
PHP Code:
src="http://www.howrse.de/media/equideo/image/chevaux/normaux/arabe-small/gr-c-icone.png?158838126" class="cheval-icone " width="40" height="40"/></a> <a href='/elevage/chevaux/cheval?id=18923938' class='horsename'>
Diese ID soll rausgefiltert werden."18923938"
Das mache ich mit
PHP Code:
Dim matches As MatchCollection = Regex.Matches(PferdeOhneZucht, "<a href='/elevage/chevaux/cheval?id=(.*?)' class='horsename'>") 'MsgBox(matches(0).Groups) MsgBox(matches.value)
Das Pattern "(.*?)" werde ich noch in nur Zahlen verändern das ist bloß fürn Test. Aber ich bekomm immer error, weil er das Pattern nicht findet.
Was kann ich da machen?
|
|
|
07/09/2013, 12:03
|
#2
|
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
|
probiers mal mit:
Code:
Dim matches As MatchCollection = Regex.Matches(PferdeOhneZucht, "<a href='/elevage/chevaux/cheval\\?id=(.*?)' class='horsename'>")
MsgBox(matches(0).Groups)
MsgBox(matches.value)
oder mit
Code:
Dim matches As MatchCollection = Regex.Matches(PferdeOhneZucht, "<a href='/elevage/chevaux/cheval\\?id=(.*?)' class='horsename'>", RegexOptions.SingleLine)
MsgBox(matches(0).Groups)
MsgBox(matches.value)
nicht getestet
|
|
|
07/09/2013, 12:52
|
#3
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Nee geht leider auch nicht.
PHP Code:
Dim PferdeOhneZucht As String = pPost("http://www.howrse.de/elevage/chevaux/searchHorse", "go=1&")
' My.Computer.FileSystem.WriteAllText("D:\Pferdohnezucht.html", PferdeOhneZucht, True)
Dim matches As MatchCollection = Regex.Matches(PferdeOhneZucht, "[0-9]{8}")
For Each m As Match In matches
For Each c As Capture In m.Captures
MsgBox(c.Value)
Next
Next
Wenn ich es so mache bekomm ich etwas. Aber leider auch ne flasche Zahl weil das Pattern dann auf mehrere Sachen zutrifft. Zb:
PHP Code:
src="http://www.howrse.de/media/equideo/image/chevaux/normaux/arabe-small/gr-c-icone.png?158838126" class="cheval-icone " width="40" height="40"/></a>
"158838126" png id...
|
|
|
07/09/2013, 13:38
|
#4
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Es gibt generatoren für regular expressions , einfach mal googeln .
|
|
|
07/09/2013, 17:28
|
#5
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Danke hat einigermaßen damit funktioniert. Kann mir hier wer sagen ob ich meine Form und den rest in einem separaten Thread laufen lassen kann? Weil meine Form sich nie richtig aktualisiert nur wenn ich zb ne Msgbox mache wir alles refreshed. Und ich hab gehört dazu sollte man lieber kein Application do events machen etc.
|
|
|
07/09/2013, 17:38
|
#6
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by Ludder231
Danke hat einigermaßen damit funktioniert. Kann mir hier wer sagen ob ich meine Form und den rest in einem separaten Thread laufen lassen kann? Weil meine Form sich nie richtig aktualisiert nur wenn ich zb ne Msgbox mache wir alles refreshed. Und ich hab gehört dazu sollte man lieber kein Application do events machen etc.
|
können ja nur erklären kann ich es nicht und können auch nicht
War das nicht bei System.Threading ?
Einfach mal googeln ....
Backgroundworker dürfte auch helfen
|
|
|
07/09/2013, 17:44
|
#7
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Quote:
Originally Posted by »FlutterShy™
können ja nur erklären kann ich es nicht und können auch nicht
War das nicht bei System.Threading ?
Einfach mal googeln ....
Backgroundworker dürfte auch helfen
|
Ja ich hab schon mit Thraeding gearbeitet aber ich hab kp was ich suchen soll
Also es geht mit Backgroundwoker aber da muss man leider CheckforIllegalThreadCrossing auf false machen
|
|
|
07/09/2013, 20:38
|
#8
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Invoke/Delegate
|
|
|
07/11/2013, 01:10
|
#9
|
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
|
Quote:
Originally Posted by Ludder231
Nee geht leider auch nicht.
PHP Code:
Dim PferdeOhneZucht As String = pPost("http://www.howrse.de/elevage/chevaux/searchHorse", "go=1&")
' My.Computer.FileSystem.WriteAllText("D:\Pferdohnezucht.html", PferdeOhneZucht, True)
Dim matches As MatchCollection = Regex.Matches(PferdeOhneZucht, "[0-9]{8}")
For Each m As Match In matches
For Each c As Capture In m.Captures
MsgBox(c.Value)
Next
Next
Wenn ich es so mache bekomm ich etwas. Aber leider auch ne flasche Zahl weil das Pattern dann auf mehrere Sachen zutrifft. Zb:
PHP Code:
src="http://www.howrse.de/media/equideo/image/chevaux/normaux/arabe-small/gr-c-icone.png?158838126" class="cheval-icone " width="40" height="40"/></a>
"158838126" png id...
|
dann ist dein regex nicht eindeutig genug, ich habe lediglich deinen fehler behoben
|
|
|
 |
Similar Threads
|
[VB] RegEx an mehreren stellen
05/02/2013 - .NET Languages - 13 Replies
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.
Durchmesser = Regex.Split(s_response, "<span id=""diameterContentField""> ; ZAHL1+KM (<span>ZAHL2</span>/<span>ZAHL3& lt;/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...
|
RegEx Pattern
09/23/2012 - General Coding - 2 Replies
Wäre jemand mal so nett mir einen funktionierenden RegEx Pattern zu geben, um das rotmarkierte rauszufilten? Ich kenn mich nicht besonders gut damit aus und bekomms einfach nicht gebacken..
|
[C#]RegEx Problem
11/29/2011 - .NET Languages - 4 Replies
Also ich habe ein Problem, hab ein Patter erstellt:
rf_token: '(\w.*)'
Nach RegexBuddy gibt es 2 Machtes und in der zweitem Match ist richtige Wert.
Aber mit diesem Code bekomme ich Wert nicht wieso wo ist Fehler?
string re1 = "rf_token: '(\\w.*)'"; // Variable Name 1 Regex r = new Regex(re1, RegexOptions.IgnoreCase | RegexOptions.Singleline); Match m = r.Match(Winhttp.Body); String var1 = m.Groups.ToString();
|
[C#] Problem mit Regex
07/11/2010 - .NET Languages - 2 Replies
Huhu,
Ich hab da ein kleines Problem was ich irgendwie nicht schaffe zu lösen..
Also ich hab folgenden Source:
public List<string> GetHtmlLinks(string html)
{
string linkPattern = "<a href=\"(.*?)\">(.*?)</a>";
MatchCollection linkMatches = Regex.Matches(html, linkPattern, RegexOptions.Singleline);
|
[c#] Regex Klasse
03/11/2010 - .NET Languages - 2 Replies
Hallo ich habe eine Frage zu der Regex Klasse.
Meine Seite hat folgenden Quelltext:
treffer>1<treffer
treffer>2<treffer
treffer>3<treffer
treffer>4<treffer
treffer>4<treffer
treffer>5<treffer
|
All times are GMT +1. The time now is 03:29.
|
|