webForumDet fria alternativet

Regexp matches och replace?

.NETur .NET

6 svar · 572 visningar · startad av Travoni

TravoniMedlem sedan okt. 20041 556 inlägg
#1

... href="/mapp/bilder/bilder.aspx"
... href="**temp/**bilder/flerbilder.aspx"
... href="/foton/personal/personal.aspx"

Jag vill skapa en regexp som med "matches" replace:ar alla länkadresser i filer.

Alla adresser skall replacas till : href="/nytt_mappnamn/...orginalsökväg.aspx, förutom de som börjar med "temp/".

Hur åstakommer jag detta?
Lite exempelkod skulle vara riktigt smutt.
Tack på förhand.

/T

Peter SMedlem sedan dec. 20025 483 inlägg
#2
Dim myString As String = Regex.Replace(s, "(href\s*=\s*"")(?!temp/)(?:/?)([^""])", "$1/nytt_mappnamn/$2", RegexOptions.IgnoreCase)
TravoniMedlem sedan okt. 20041 556 inlägg
#3

Ruggigt proffisigt.

TravoniMedlem sedan okt. 20041 556 inlägg
#4

...nu återstår bara ett problem.
Ibland så är det med dubbelfnutt (") och ibland med sitattecken(') och ibland "ingenting" runt urlen då funkar mönstret inte.

<a href="/mapp/bilder/bilder.aspx">
<a href='temp/bilder/flerbilder.aspx'>
<a href=/foton/personal/personal.aspx>
Peter SMedlem sedan dec. 20025 483 inlägg
#5
Dim myString As String = Regex.Replace(s, "(href=[""']?)(?!temp/)(/?[^/""'>]+/?)", "$1/nytt_mappnamn/", RegexOptions.IgnoreCase)
TravoniMedlem sedan okt. 20041 556 inlägg
#6

Du är för gullig! ;)
Fattar ingenting av det där mönstret med det verkar ju funka.

Peter SMedlem sedan dec. 20025 483 inlägg
#7

:e

132 ms totalt · 3 externa anrop · v20260731065814-full.c74b5be1
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)