---
title: "RegExp - få ut siffran"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/172514-regexp-få-ut-siffran"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Mika3l"
published: "2008-07-01T13:10:39.000Z"
updated: "2008-07-04T16:48:15.000Z"
replies: 6
views: 765
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/172514-regexp-få-ut-siffran"
---

# RegExp - få ut siffran

## #1 — Mika3l, 2008-07-01T13:10Z

Hejsan!
Jag vill med hjälp av RegExp få ut idnumret från strängen &lt;img\]*id*&lt;/img\] alternativt &lt;img=*id*\] för att sedan hämta uppgifter i en databas och visa en viss xhtml-kod.
Jag försökte med den här koden men jag får med allt och inte bara idnumret och det leder ju naturligtvis till problem vid uppkopplingen till databasen.
Är inte så speciellt insatt i RegExp så jag kanske är helt ute och cyklar med den koden jag har försökt med?

```
Function fixpic(strValue)

With New RegExp

  .Global = True
  .IgnoreCase = True

  .Pattern = "\[img\]([\w\W]*?)\[/img\]"
  strValue = .Replace(strValue,"$1")

End With

iid = strValue
Set rs = Connection.Execute("SELECT f_title_" & lang & " FROM tblGallery WHERE f_iid = " & iid)
If NOT rs.EOF Then
  strValue = .Replace(strValue,"<a rel=""shadowbox[content_img];options={counterType:'skip',continuous:true,animSequence:'sync'}"" href=""images/gallery/fullsize/" & iid & ".jpg"" title=""" & rs("f_title_" & lang) & """><img src=""images/gallery/thumbs/" & iid & "_thumb.jpg?cache=" & int(rnd*1000000) & """ style=""border: 1px solid #000000; margin-bottom: 5px;"" /></a>")
End If
rs.Close : Set rs = Nothing
fixpic = strValue
End Function
```

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

## #2 — voigtann1, 2008-07-01T14:34Z

```
\[img\](\d+)\[/img\]
```

Och

```
\[img=(\d+)\]
```

Om du endast vill träffa tal 0-9. Du kanske skall använda dig av:

```
\[img\]([1-9]\d*)\[/img\]
```

för att inte tillåta 0123 utan skall vara 123 dvs börja allt förutom 0.

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

## #3 — Mika3l, 2008-07-03T15:32Z

```
.Pattern = "\[img=([1-9]\d*)\]"
```

Jag försöker använda mig av den koden och den plockar ut siffran rätt men xhtml-koder följer med siffran vilket gör att det blir fel i min SQL-sats sen. Får med \<p\>1\</p\>. Nåt som kan fixa till det? :)

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

## #4 — voigtann1, 2008-07-03T16:07Z

Eftersom du verkar ha annan text än just bara img biten så får du antingen ta ut alla matchningar som då får på sidan och hämta ut submatch 0 på den träffen (finns säkert bättre sätt:

```
Function fixpic(strValue)
	With New RegExp
	.Global = True
	.IgnoreCase = True
	.Pattern = "\[img=([1-9]\d*)\]"
	Set vMatches = myRegExp.Execute(strValue)
	For Each Match in vMatches
		iid = Match.SubMatches(0)
		Set rs = Connection.Execute("SELECT f_title_" & lang & " FROM tblGallery WHERE f_iid = " & iid)
		If NOT rs.EOF Then
			strValue = Replace(strValue, Match, "<a rel=""shadowbox[content_img];options={counterType:'skip',continuous:true,animSequence:'s  ync'}"" href=""images/gallery/fullsize/" & iid & ".jpg"" title=""" & rs("f_title_" & lang) & """><img src=""images/gallery/thumbs/" & iid & "_thumb.jpg?cache=" & int(rnd*1000000) & """ style=""border: 1px solid #000000; margin-bottom: 5px;"" /></a>")
		End If
	Next
	End With
	fixpic = strValue
End Function
```

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

## #5 — Mika3l, 2008-07-03T23:14Z

> Körningsfel i Microsoft VBScript (0x800A01A8)
> Objekt krävs.: 'myRegExp'

? :)
Testade att ta bort "my" men det stämde tydligen inte heller.

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

## #6 — voigtann1, 2008-07-04T04:50Z

my bad:

```
Function fixpic(strValue)
	With New RegExp
	.Global = True
	.IgnoreCase = True
	.Pattern = "\[img=([1-9]\d*)\]"
	Set vMatches = .Execute(strValue)
	For Each Match in vMatches
		iid = Match.SubMatches(0)
		Set rs = Connection.Execute("SELECT f_title_" & lang & " FROM tblGallery WHERE f_iid = " & iid)
		If NOT rs.EOF Then
			strValue = Replace(strValue, Match, "<a rel=""shadowbox[content_img];options={counterType:'skip',continuous:true,animSequence:'s    ync'}"" href=""images/gallery/fullsize/" & iid & ".jpg"" title=""" & rs("f_title_" & lang) & """><img src=""images/gallery/thumbs/" & iid & "_thumb.jpg?cache=" & int(rnd*1000000) & """ style=""border: 1px solid #000000; margin-bottom: 5px;"" /></a>")
		End If
	Next
	End With
	fixpic = strValue
End Function
```

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

## #7 — Mika3l, 2008-07-04T16:48Z

Fungerar utmärkt! Man tackar! :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/172514-regexp-få-ut-siffran
