---
title: "Varför fungera inte RegExp koden?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/47165-varför-fungera-inte-regexp-koden"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "voigtann1"
published: "2002-07-04T07:37:49.000Z"
updated: "2002-07-04T19:06:02.000Z"
replies: 12
views: 354
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/47165-varför-fungera-inte-regexp-koden"
---

# Varför fungera inte RegExp koden?

## #1 — voigtann1, 2002-07-04T07:37Z

```
objRegExp.Pattern = "\[(kod)\](.*?)\[\/(kod)\]"
mess = objRegExp.Replace(mess,"<blockquote><font style=""font-size: 9px"">Kod:</font><hr class=""mess4"" size=""1""><font class=""time"">$2</font></font><hr class=""mess4"" size=""1""></blockquote>")

objRegExp.Pattern = vbCrLf & vbCrLf
mess = objRegExp.Replace(mess,"<br>")
```

koden fungera om jag skriver \[.kod\]test\[./kod\] på en rak linje men om jag skriver:
\[.kod\]
TEst
\[./kod\]
så blir det helt fel...

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

## #2 — selstam, 2002-07-04T08:51Z

Byt ut (.\*?) mot (\\S+) istället ... det borde fungera.

Jag kör i mitt eget forum följande kod:

```
	Function urlTag(strIn, strType)

		Dim re, strOut
		Set re = New RegExp

		If strType = "tohtml" Then
			re.Pattern = "\[url\](\S+)\[/url\]"
			re.IgnoreCase = True
			re.Global = True

			strOut = re.Replace(strIn, "<a target=" & Chr(34) & "_blank" & Chr(34) & " href=" & Chr(34) & "$1" & Chr(34) & ">$1</a>")
		Else
			re.Pattern = "<a target=" & Chr(34) & "_blank" & Chr(34) & " href=" & Chr(34) & "(\S+)" & Chr(34) & "(\S+)</a>"
			re.IgnoreCase = True
			re.Global = True

			strOut = re.Replace(strIn, "[url]$1[/url]")
		End If

		Set re = Nothing

		urlTag = strOut
	End Function
```

\--
Andreas Selstam, [dvdforum.nu](http://www.dvdforum.nu)

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

## #3 — voigtann1, 2002-07-04T10:04Z

nope.. fungerade inte ...

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

## #4 — Brimba, 2002-07-04T10:11Z

Varför har du kod inom paranteser?
Ta bort dessa och anropa $1 istället.

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

## #5 — voigtann1, 2002-07-04T10:13Z

har gjort det nu :) men det hjälper inte för det :)

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

## #6 — selstam, 2002-07-04T10:45Z

Har du uppdaterat till senaste versionen av VBScript? 5.5 är den senaste (har jag för mig) och just regexp i tidigare versioner var otroligt buggigt.

Vilken version du kör kollar du lätt genom:

```
<%=ScriptEngine%><BR>
<%=ScriptEngineMajorVersion%><BR>
<%=ScriptEngineMinorVersion%><BR>
```

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

## #7 — voigtann1, 2002-07-04T11:41Z

fick:
VBScript
5
6

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

## #8 — solbulle, 2002-07-04T13:16Z

Helt OT, men måste bara passa på att välkomna Andreas Selstam till WF. :)

(fr en gammal dvdforumräv)

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

## #9 — voigtann1, 2002-07-04T15:55Z

ingen som kan kanske veta???

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

## #10 — selstam, 2002-07-04T17:25Z

Tja, koden som jag skrev vet jag fungerar (den används ofta) ... :)

Det jag funderar på är om det finns några andra inställningsmöjligheter som kan vara påverkande, men det tror jag inte.

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

## #11 — voigtann1, 2002-07-04T17:36Z

```
<%
Function encode(mess)

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
mess = Server.HTMLEncode(mess)

objRegExp.Pattern = "\[email=(&quot;)?(.*?)@(.*?)\1\](.*?)\[\/email\]"
mess = objRegExp.Replace(mess,"<a href=mailto:$2@$3 target=""_blank"">$4</a>")

objRegExp.Pattern = "\[email\](.*?)@(.*?)\[\/email\]"
mess = objRegExp.Replace(mess,"<a href=mailto:$1@$2 target=""_blank"">$1@$2</a>")

objRegExp.Pattern = "\[url=(&quot;)?([url]http://[/url])?(.*?)\1\](.*?)\[\/url\]"
mess = objRegExp.Replace(mess,"<a href=http://$3 target=""_blank"">$4</a>")

objRegExp.Pattern = "\[url\]([url]http://[/url])?(.*?)\1\[\/url\]"
mess = objRegExp.Replace(mess,"<a href=http://$2 target=""_blank"">$2</a>")

objRegExp.Pattern = "\[kod\](\S+)\[/kod\]"
mess = objRegExp.Replace(mess,"<blockquote><font style=""font-size: 9px"">Kod:</font><hr class=""mess4"" size=""1""><font class=""time"">$1</font></font><hr class=""mess4"" size=""1""></blockquote>")

objRegExp.Pattern = "\[color=(.*?)\](.*?)\[/color\]"
mess = objRegExp.Replace(mess,"<font color=$1>$2</font>")

objRegExp.Pattern = "\[(b|/b|i|/i|u|/u)\]"
mess = objRegExp.Replace(mess,"<$1>")

objRegExp.Pattern = vbTab
mess = objRegExp.Replace(mess,"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")

objRegExp.Pattern = vbCrLf
mess = objRegExp.Replace(mess,"<br>" & vbcrlf)

objRegExp.Pattern = "\[citat\](.*?)\1\[\/citat\]"
mess = objRegExp.Replace(mess,"<blockquote><B style=""font-size: 9px"">Citat: </b><hr class=""mess4"" size=""1""><I>$1</I><hr class=""mess4"" size=""1""></blockquote>")

objRegExp.Pattern = "\[citat=(\S+)\](\S+)\[\/citat\]"
mess = objRegExp.Replace(mess,"<blockquote><B style=""font-size: 9px"">$1</b> <font style=""font-size: 9px"">skrev: </font><hr class=""mess4"" size=""1""><I>$2</I><hr class=""mess4"" size=""1""></blockquote>")

objRegExp.Pattern = "\[list\](.*?)\[\/list\]"
mess = objRegExp.Replace(mess,"<ul>$1</ul>")

objRegExp.Pattern = "\[list(=1|=a)\](.*?)\[\/list\]"
mess = objRegExp.Replace(mess,"<ol type$1>$2</ol>")

objRegExp.Pattern = "&quot;(\S+)&quot;"
mess = objRegExp.Replace(mess,"&#8220;$2&#8221;")

objRegExp.Pattern = "\[\*\](.*?)"
mess = objRegExp.Replace(mess,"<li>$1</LI>")

objRegExp.Pattern = vbCrLf & vbCRLf
mess = objRegExp.Replace(mess,"<br>"& vbCrLf)

mess = Replace(mess, "'", "''") 

	encode = mess
End Function

%>
```

om du vill kolla lite extra på alla mina koder?

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

## #12 — voigtann1, 2002-07-04T18:58Z

du.. jag ändrade till:

(.\|\\n)+?

nu fattar den att

\[.kod\]
test
\[./kod\]
finns... men den skriver inte ut $1 då, som om $1 aldrig finns.. :(

det borde ju fungera.. eller hur?

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

## #13 — voigtann1, 2002-07-04T19:06Z

fixat det:

((.\|\\n)+?)
så fungera allt..

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/47165-varför-fungera-inte-regexp-koden
