webForumDet fria alternativet

Regexp hjälp

ASP

5 svar · 227 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Jag skulle vilja ha en regexp funktion som hittar nummer som står inom [].

Exempel:
[24]
[3]
[478]
[1030]

Det ska sedan replacas med en annan text. Det klarar jag men hur gör man ett regexp som hittar klamrarna och kontrollerar att det står siffor innan för []

Står det tex [2ba2] så ska inget replaceas.

Medlem sedan sep. 20026 425 inlägg
#2

Jag tror att Vides artikel om Regular Expressions kan komma mycket väl till pass i detta fall. :)

Medlem sedan nov. 20014 054 inlägg
#3

Här har du en början ialla fall:

objRegExp.Pattern = "\[(0-9)\]"
strText = objRegExp.Replace(strText,"<strong>$1</strong>")

Eller något sådant.... är inte så säker på RegExp... kan kanske använda \d istället för 0-9

Medlem sedan dec. 20003 887 inlägg
#4

Mer början...

Set objRE = New RegExp()
objRE.Global = True
objRE.IgnoreCase = True
objRE.Pattern = "\[\d+\]"

strSource = "[1234] [123a] [a123] [1af3] [1]"
strText = "siffror"

Response.Write objRE.Replace(strSource, "[" & strText & "]")
Medlem sedan jan. 20013 406 inlägg
#5

Engine^ skrev:

Mer början...

Set objRE = New RegExp()
objRE.Global = True
objRE.IgnoreCase = True
objRE.Pattern = "\[\d+\]"

strSource = "[1234] [123a] [a123] [1af3] [1]"
strText = "siffror"

Response.Write objRE.Replace(strSource, "[" & strText & "]")

Fungerar rätt så bra men jag skulle vilja få ut numret som står innanför klamrarna. Har läst på vides webbsida men ändå inte lyckats.

Jag vill altså kunna replaca [1234] till 1234.asp

Hur gör jag?

Medlem sedan jan. 20013 406 inlägg
#6

Löste det man sätter paranteser på det man vill att $1 ska visa.

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)