webForumDet fria alternativet

RexExp-fråga

ASP

5 svar · 229 visningar · startad av joakimbr

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

Hallå!

Jag undrar om det finns nåt smidigt sätt att replace:a i en regexp-match... asså... jag ger ett exempel:

[t]
...
blabla
...
[/t]

hittas av objRegExp.Pattern = "\[t\]((.|\n)+?)\[\/t]"
men i det resultatet skulle jag vilja rensa bort alla radbrytningar.
Hur gör jag det?

Tack på förhand,

//jocke

Medlem sedan sep. 20026 425 inlägg
#2

Borde det inte kunna gå att lägga till ^\n efter ditt mönster? Testa! :)

Medlem sedan jan. 200215 inlägg
#3

hmm. nix fungerar inte.
kan du vara lite mer specifik?

jag vill alltså ta resultatet (i $1) och replace:a "\n" med ""

//jocke

Medlem sedan sep. 20026 425 inlägg
#4

Mina kunskaper inom reguljära uttryck äro ej de bästa, men jag gör ytterliggare ett försök.

dim str, objRE, nstr
str = "[t].<br>.<br>..[/t]"

set objRE = new regexp
objRE.Global = true
objRE.IgnoreCase = true

objRE.Pattern = "\[t\]((.|\n)+?)\[\/t]"

nstr = objRE.Replace(str, Chr(10))

'nstr är strängen du vill skriva ut
Medlem sedan jan. 200215 inlägg
#5

näe.

nstr = objRE.Replace(str, Chr(10)) ersätter helt sonika söresultatet med en radbrytning, och det är ju lite kontraproduktivt! ;)

tack iaf,

//jocke

Medlem sedan sep. 20026 425 inlägg
#6

Fan vad dum man kan vara. Skyller på för lite sömn. ;)
Testa detta då:

objRE.Pattern = "\[t\](.)\[t\]"

/r fungerar inte, jag kodar ;)
/r2 jag ger upp

255 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)