---
title: "Fråga om RegExp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/142989-fråga-om-regexp"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Donatello"
published: "2006-02-24T15:12:48.000Z"
updated: "2006-02-27T13:58:16.000Z"
replies: 3
views: 320
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/142989-fråga-om-regexp"
---

# Fråga om RegExp

## #1 — Donatello, 2006-02-24T15:12Z

Hej. Undrar om det finns någon smidig lösning på följande:

Jag vill att en sträng innehållande ex.vis.

```
"brödtext brödtext <länk 1>brödtext</länk> brödtext <länk 2>brödtext</länk>"
```

blir

```
"brödtext brödtext <a href=""/?w=1"">brödtext</a> brödtext <a href=""/?w=2"">brödtext</a>"
```

Att replacea \</länk\> till \</a\> är ju en piece of cake, men sen har jag kört fast lite. Jag har inte kommit längre än 

```
Set RegExp = New regexp
RegExp.Global = True
RegExp.IgnoreCase = True
RegExp.Pattern = "<länk (/d)*>"
```

Finns det något sätt jag kan ändra "\<länk " till "\<a href=""/?w=" och "\>" till """\>" eller få ut enbart siffrorna och klistra in dem i det nya mönstret... eller nåt? \*lite förvirrad\* :)

Tacksam för svar

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

## #2 — Peter S, 2006-02-24T23:31Z

```
RegExp.pattern = "<länk([^>]*)>((?:.|\n|\r)*?)</länk>"
str = RegExp.replace(str, "<a href=""/?w=$1"">$2</a>")
```

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

## #3 — Donatello, 2006-02-26T02:10Z

Tack. :)

Har läst på så mycket att jag börjar känna mig illamående nu...  :OO 

Körde fast på en ny grej, som jag undrar om någon skulle vilja hjälpa mig med.

Om jag ex.vis. har strängen

```
brödtext brödtext vbcrlf vbcrlf<bild namn=maskin1.jpg position=left bredd=192 höjd=569> brödtext brödtext
```

Och vill få den till 

```
brödtext brödtext vbcrlf vbcrlf<img src=""/thumbs.asp?filename=maskin1.jpg&width=192&height=569"" align=""left""> brödtext brödtext
```

så har jag fingrat ihop följande

```
str = "brödtext brödtext vbcrlf vbcrlf<bild namn=maskin1.jpg position=left bredd=192 höjd=569> brödtext brödtext"
RegExp.Pattern="<bild[\s]*|namn=[^\s]*|bredd=[^\s]*|höjd=[^\s]*|position=[^\s]*|>"
RegExp.Replace(str, "<img src=""/thumbs.asp?filename=$2&width=$3&height=$4"" align=""$5"">"
```

Problemet med mitt pattern är ju att den hittar träffar på allt, individuellt. T.ex blir bredd=192 en egen träff och får sig en egen \<img src... osv. Men... Jag vet inte hur jag ska göra!   x(
Går det att hitta träffar i träffen... eller hur man ska säga? Kruxet är att det inte är säkert att bredd, höjd osv står i "rätt" ordning, eller att alla överhuvudtaget är med.
Är tacksam för all hjälp jag kan få...

Det är inte lätt när det är svårt.... :OO

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

## #4 — Peter S, 2006-02-27T13:58Z

Det blir nog svårt att genomföra om du inte vet var 'position', 'höjd' o.s.v. ligger. Detta eftersom du måste mappa de svenska namnen mot engelska. Jag bifogar ett JS-exempel som någon gärna får översätta till VBScript.

```
<script>
function f(){
 var arr = [
   ['position', 'align'],
   ['namn', 'src'],
   ['bredd', 'width'],
   ['höjd', 'height']
 ],
 ta_val = document.forms[0].elements[0].value;

 for (var i = 0; i < arr.length; ++i){
   ta_val = ta_val.replace(new RegExp("<(bild.*?)"+ arr[i][0] +"=([^\\s>]+)([^>]*)>","gi"), '<$1'+ arr[i][1] +'="$2"$3>');
 }

 document.forms[0].elements[2].value = ta_val.replace(/<bild/gi, "<img");
}
</script>

<form>
 <textarea cols="90" rows="20">brödtext brödtext vbcrlf vbcrlf<bild namn=maskin1.jpg position=left bredd=192 höjd=569> brödtext brödtext</textarea>
 <br>
 <input type="button" onclick="f()" value="click">
 <br>
 <textarea cols="90" rows="20"></textarea>
</form>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/142989-fråga-om-regexp
