---
title: "Problem med RegularExpressions"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/133015-problem-med-regularexpressions"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "lilja"
published: "2005-08-19T20:20:23.000Z"
updated: "2005-09-01T20:19:31.000Z"
replies: 2
views: 370
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/133015-problem-med-regularexpressions"
---

# Problem med RegularExpressions

## #1 — lilja, 2005-08-19T20:20Z

Nu har jag suttit i flera timmar och försökt få fram data ur en sida men inte lyckats... Jag vet dock att jag hämtar sidan korrekt. men sen när jag skall plocka ut data förstår jag nada ...

Kan ingen hjälpa mig att komma igång?

Jag har sidan:
<http://www.dnsstuff.com/tools/city.ch?ip=81.231.240.208>

Jag vill plocka ut det som står bredvid Country, City, Country Code och Currency. Jag försöker plocka ut data en åt gången...

Kod som fungerar

```
	Function GetISP(strIP)
		If InStr(strIP, ".") = 3 Then
			Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
			objHTTP.Open "GET", "http://www.ripe.net/perl/whois?form_type=simple&full_query_string=&searchtext=" & strIP & "&do_search=Search", False
			objHTTP.Send
			strHTML = objHTTP.ResponseText
			Set objHTTP = Nothing
			
			With New RegExp
				.IgnoreCase = True
				.Global = False
				.Pattern = "descr:[^\n]+"
				
				For Each Match In .Execute(strHTML)
					strMatch = Trim(Mid(Match.Value, 7))
				Next
			End With
			
			GetISP = strMatch
		Else
			GetISP = "No valid IPv4"
		End If
	End Function
```

Kod som inte fungerar (annan sida). men borde vara samma ändå??

```
	Function GetCountryCode(strIP)
		If InStr(strIP, ".") = 3 Then
			Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
			objHTTP.Open "GET", "http://www.ripe.net/perl/whois?form_type=simple&full_query_string=&searchtext=" & strIP & "&do_search=Search", False
			objHTTP.Send
			strHTML = objHTTP.ResponseText
			Set objHTTP = Nothing
			
			With New RegExp
				.IgnoreCase = True
				.Global = False
				.Pattern = "Country:[^\n]+"
				
				For Each Match In .Execute(strHTML)
					strMatch = Trim(Mid(Match.Value, 8))
				Next
			End With
			
			GetCountryCode = strMatch
		Else
			GetCountryCode = "No valid IPv4"
		End If
	End Function
```

Jag anropar funktionerna med:

```
<%
strIP = Request.ServerVariables("REMOTE_HOST")
Response.Write(GetISP(strIP))
Response.Write(GetCountryCode(strIP))
%>
```

Permalänk: https://www.webforum.nu/p/133015

## #2 — emission, 2005-08-20T23:26Z

Koden fungerar bra. Vad är problemet?

1\. Om det är dnsstuff du vill köra så får du byta ut URL:en
2\. Om det är Country Code du vill ha så får du ha det i din pattern, i stället för bara Country
3\. Testen för IPv4-riktighet är inte riktigt klar väl?
4\. Onödigt att hämta sidan flera gånger

Permalänk: https://www.webforum.nu/p/1661489

## #3 — lilja, 2005-09-01T20:19Z

Ko jag hade fel adress, visste att det var något dummt men kunde bara inte se det. Koden är inte heller optimal då jag bara försöker få det att fungera just nu...

Permalänk: https://www.webforum.nu/p/1664697

---

Tråden på webben: https://www.webforum.nu/amne/asp/133015-problem-med-regularexpressions
