---
title: "Problem med RegExp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/124215-problem-med-regexp"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "lilja"
published: "2005-03-11T22:56:54.000Z"
updated: "2005-03-18T09:21:36.000Z"
replies: 6
views: 358
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/124215-problem-med-regexp"
---

# Problem med RegExp

## #1 — lilja, 2005-03-11T22:56Z

Jag vill hämta nyheter ifrån en hemsida och spara i en databas. Om ni undrar om jag har tilltånd så har jag pratat med sidans ägare och fått tillåtelse att göra det.

För att sortera ut de olika nyheterna använder jag regexp. Tidigare har jag använt nästan exakt samma skript. Anledningen till att jag inte kan göra det nu är att inte alla nyheter innehåller en "länk för att läsa mer" som tidigare. 

Tidigare hämtade jag alla rubriker, alla datum och alla länkar för sig. Men om en nyhet inte har någon länk så tilldelas den länken för nästkommande nyhet (om den har en länk).

Därför måste jag hämta en nyhet i taget och sedan använda regexp på den igen för att få ut de olika delarna. Men jar går hela tiden felet som ni kan se här: <http://jok.nu/layout_05/test/nyheter/smof.asp>

Raden som är i fetstil är den raden som servern klagar på. Snälla hjälp mig. jag blir galen!!

```
<%
	
	Dim tSMOFNews(4)
	Dim tSMOFNewsDate(4)
	Dim tSMOFNewsHeader(4)
	Dim tSMOFNewsLink(4)

	' Skapar ett XMLHttp objekt för att hämta SMOF nyheterna från internet
	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
	' Sidan som ska hämtas
	objHTTP.Open "GET", "http://www.orientering.se/smaland", False
	' Hämtar sidan
	objHTTP.Send
	'Omvandlar sidan från binär till text så att å, ä och ö syns
	strHTML = BinToText(objHTTP.responseBody,35000)
	' Tömmer XMLHttp objektet vi skapade
	Set objHTTP = Nothing

	' Hämtar en Nyhet i taget för att sedan dela upp den i olika delar
	Set objRegExp = New regexp
	' Anger att den ska fortsätta även om den hittat en
	objRegExp.Global = true
	' Anger att det inte är någon skillnad på stora och små bokstäver
	objRegExp.IgnoreCase = true
	' Skapar ett mönster som den ska söka efter. En .* anger allt
	objRegExp.Pattern = "<table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%""><tr><td><span class=""newslinkdate"">.*<br><br></td></tr></table>"
	' Skapar en array av den hittade datan
	[B]Set tSMOFNews = objRegExp.Execute(strHTML)[/B] 
	Set objRegExp = Nothing

	For i = 0 To 4
		' Skapar en RegExp för att plocka ut datumen på nyheterna
		Set objRegExp = New regexp
		' Anger att den ska fortsätta även om den hittat en
		objRegExp.Global = true
		' Anger att det inte är någon skillnad på stora och små bokstäver
		objRegExp.IgnoreCase = true
		' Skapar ett mönster som den ska söka efter. En .* anger allt
		objRegExp.Pattern = "<span class=""newslinkdate"">.*</span><br><span class=""newsheader"">"
		' Skapar en array av den hittade datan
		Set tSMOFNewsDate = objRegExp.Execute(tSMOFNews(i))
		Set objRegExp = Nothing
	
		' Skapar en RegExp för att plocka ut rubriken på nyheterna
		Set objRegExp = New regexp
		' Anger att den ska fortsätta även om den hittat en
		objRegExp.Global = true
		' Anger att det inte är någon skillnad på stora och små bokstäver
		objRegExp.IgnoreCase = true
		' Skapar ett mönster som den ska söka efter. En .* anger allt
		objRegExp.Pattern = "<span class=""newsheader"">.*</span>"
		' Skapar en array av den hittade datan
		Set tSMOFNewsHeader = objRegExp.Execute(tSMOFNews(i))
		Set objRegExp = Nothing
	
		' Skapar en RegExp för att plocka ut länkarna till nyheterna
		Set objRegExp = New regexp
		' Anger att den ska fortsätta även om den hittat en
		objRegExp.Global = true
		' Anger att det inte är någon skillnad på stora och små bokstäver
		objRegExp.IgnoreCase = true
		' Skapar ett mönster som den ska söka efter. En .* anger allt
		objRegExp.Pattern = "<a href=.*>L&auml;s mer</a>"
		' Skapar en array av den hittade datan
		Set tSMOFNewsLink = objRegExp.Execute(tSMOFNews(i))
		Set objRegExp = Nothing

	Next
%>
```

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

## #2 — lilja, 2005-03-13T12:22Z

är det verkligen ingen som har den blekaste aning om vad felet kan vara? :'(

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

## #3 — J.N., 2005-03-14T14:20Z

HEJ!

Får du något i strHTML?

Kontrollera att den innehåller vad du tror att den innehåller.

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

## #4 — Engine^, 2005-03-14T19:22Z

Du måste escape:a slasharna, eftersom dessa är specialtecken i RegExp.

```
objRegExp.Pattern = "...<\/tr><\/td><\/table>"
```

Det ser även ut som om du saknar en \</span\>-tagg i det mönstret.

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

## #5 — lilja, 2005-03-17T13:17Z

ja jag vet att strHTML innehåller det  jag tror att den gör... Åtminstonne då sidan ligger uppe som jag hämtar data ifrån...

Just de, har inte skrivit så väldigt mycket RegExp-kod så jag tänkte inte på slash-tecknen. Det borde fungera :) Ska testa om det fungerar...

Finns det någon bra sida där man kan läsa om hur man skriver sk. mönster till RegExp om man är nybörjare???

Hmm, en av de 3 sidor jag hämtar just nu ligger inte uppe heller. Dåligt då det är hemmet för hela orienteringssverige... Aja, hur kollar man om sidan finns (ligger uppe)?

On Error Resume Next - och sen kollar eventuella felkoder? Hur kollar man felkoderna i sådana fall??

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

## #6 — J.N., 2005-03-17T13:27Z

HEJ!

Felkoder hittar du i variabeln err.
<http://www.devguru.com/Technologies/vbscript/quickref/err.html>

Det fanns ett inlägg om ett regexp-test nyligen, testa sök. (Ev kanske Javascript?)

Ang om sidan finns har jag läst att ni/de kontrollerar om man får ett 200-svar, dvs att sidan existerar, och sedan hämtar man datan.

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

## #7 — SprayMaphia, 2005-03-18T09:21Z

> **Engine^ skrev:**
>
> Du måste escape:a slasharna, eftersom dessa är specialtecken i RegExp.

Nej, det är dom inte.

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

---

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