webForumDet fria alternativet

Hjälp med reg exp??

ASP

5 svar · 540 visningar · startad av eddy1

Medlem sedan aug. 2001969 inlägg
Frågan#1

Hej

Vad jag igentligen är ute efter är ett regexp som hämtar namnet på internet leverantören från denna sidan http://www.ip-adress.com/ip_tracer/85.224.139.180

Försöker läsa om det men det är grymt svårt..

alltså om jag vill hitta denna delen "My ISP [?]: Bredbandsbolaget AB" i en sträng, hur ska jag då skriva?
Ska sägas att jag hämtar data med "Microsoft.XMLHTTP" Är det själva kodningen då man kontrollerar??
Html koden som hämtas ser ju ut så här.

						<tr class="odd">
							<th>My ISP [<a href="/isp" target="_self">?</a>]:</th>
							<td>
																Bredbandsbolaget AB															</td>
						</tr>
												<tr class="even">

Och jag vill få ut "Brédbandsbolaget" det kan givetvis vara ett annat namn som står på den raden...

Mvh

Medlem sedan dec. 20025 483 inlägg
#2
// returvärdet från xmlhttp-requesten
var myHTMLSource = "...";

var x = /<th>my isp \[<a href="\/isp" target="_self">\?<\/a>\]:<\/th>(?:\s)*<td>\s*(.*?)<\/td>/i.exec(myHTMLSource);
if (x != null)
  alert(x[1]);

Red./
Oops! Fast i ASP då :e

myHTMLSource = "..."
if len(myHTMLSource) > 0 then
    set re = new regexp
    re.pattern = "<th>my isp \[<a href=""\/isp"" target=""_self"">\?<\/a>\]:<\/th>(?:\s)*<td>\s*(.*?)<\/td>"
    re.ignorecase = true
    set m = re.execute(myHTMLSource)
    if m.count > 0 then
        response.write m(0).submatches(0)
        response.write "<hr>"
    end if
end if
Medlem sedan aug. 2001969 inlägg
#3

tusen tack

Ska prova när jag kommer hem..

Medlem sedan aug. 2001969 inlägg
#4

finns det något bra sätt att lära sig detta på, förstår inte alla hur det går till? Försökte läsa lite men det är ju grekiska..

Ser att "\" används mycket i uttrycket, vad gör det??

Btw, exemplet ovan fungerar kanon förutom att det kommer med en linje efter namnet??

Vill även hitta denna delen som finns på samma sida?
<th>My IP address country:</th>
<td>
<img src="/flags/se.png" alt="ip address flag">Sweden

alltså Sweden?

Medlem sedan dec. 20025 483 inlägg
#5

Tecknet \ används för att eskejpa speciella regexptecken.

Linjen beror på response.write "<hr>" i ASP-koden ovan. Bara att ta bort :)

Medlem sedan juni 20019 519 inlägg
#6

http://www.regular-expressions.info/

webeye har en bra (det var där jag lärde mig RegEx) fått låna referensen av honom på:

http://voigt.se/sandbox/regexp/

Vill även hitta denna delen som finns på samma sida?
<th>My IP address country:</th>
<td>
<img src="/flags/se.png" alt="ip address flag">Sweden

Om du är intresserad att lära dig så är det bara att testa dig fram, Peter S kod är mer eller mindre allt du behöver för att lösa detta problem med ;) (bra tillfälle att testa och lära sig).

254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)