webForumDet fria alternativet

Hjälp med pattern till RegExp

ASP

13 svar · 337 visningar · startad av Josef

Medlem sedan mars 20023 561 inlägg
Frågan#1

Jag är inte så hemma på RegExp och har suttit och klurat på det här ett tag nu men får det inte att fungera, och undrar om nån kan hjälpa mig?

Jag behöver en pattern som tar ut det mellan:

<a href="http://www.microsoft.com">

och

</a>

Skulle någon kunna klura ut det?

Medlem sedan juni 20019 519 inlägg
#2

objRegExp.Pattern = "<a href=""(.*?)"">(.*?)</a>"
str = objRegExp.Replace(str,"$2")

så eller?

Medlem sedan mars 20023 561 inlägg
#3

Kan du inte skriva hur man får ut båda värderna? Som det är nu får jag bara ur URLen...

Medlem sedan juni 20019 519 inlägg
#4

får du ut URL:en? hmm.. mystiskt.. får checka detta när jag kommer hem (skolan har inte ASP)...

Medlem sedan mars 20023 561 inlägg
#5

Ok...

Medlem sedan juni 20019 519 inlägg
#6

<%
Function encode(mess)

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true

objRegExp.Pattern = "<a href=("")?(http://)?(.*?)("")?>(.*?)</a>"
mess = objRegExp.Replace(mess,"$3 - $5")

encode = mess

End Function
%>

<%
response.write encode("<a href=www.microsoft.com>testar</a>")
%>

Så fungera det :)

Medlem sedan mars 20023 561 inlägg
#7

Tack så mycket!

Medlem sedan juni 20019 519 inlägg
#8

mycket nöje :)

Medlem sedan mars 20023 561 inlägg
#9

Om man har ett mönster som resulterar i två "matchningar". Hur får man ut dessa värden, vart och ett för sig?

Medlem sedan dec. 200012 464 inlägg
#10
set o = new regexp
'...
'...
set matches = o.execute(str)
for each match in matches
'...
next

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vscolmatches.asp

Medlem sedan mars 20023 561 inlägg
#11

Tack så mycket! :)

Medlem sedan mars 20023 561 inlägg
#12

Hur gör man enklast för att få dessa två värden i två variabler?

Medlem sedan dec. 200012 464 inlägg
#13
set o = new regexp
'...
'...
set matches = o.execute(str)
i = 1
for each match in matches
    if i = 1 then
      v1 = match.value
    else
      v2 = match.value
      exit for
    end if
    i = i + 1
next

lite för mycket hårdkodning i mitt tycke.

Medlem sedan mars 20023 561 inlägg
#14

Tackar! :)

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)