webForumDet fria alternativet

Regexp hjälp

.NET

2 svar · 408 visningar · startad av aleborg

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

Jag har följande regexp: ^http://(.*\.(.{2,3}))?/?(.*)?
i $3 får jag ut allt efter det sista "/" i strängen, men jag behöver 2 st vidareutvecklingar på den, en som matchar om man skriver enbart "blaha" efter det sista "/" och en som fångar "blaha/foo"

1. http://www.doman.se/vad/som/helst: ^http://(.*\.(.{2,3}))?/?(.*)?
2. http://www.doman.se/blaha: ?
3. http://www.doman.se/blaha/vad/som/helst: ?

jag testade med ^http://(.*\.(.{2,3}))?/blaha men den fångade på 3:an i listan med och ^http://(.*\.(.{2,3}))?/blaha/?(.*)? fångade även 2:an i listan

någon som har ett bra tips? Det rör sig om URLRewriting

Medlem sedan jan. 20013 341 inlägg
#2

http://(.*\.(.{2,3}))?/blaha$ löste problemet med ett problem bara, om man skriver http://www.doman.se/blaha så matchar den men inte på http://www.doman.se/blaha/

Medlem sedan jan. 20013 341 inlägg
#3

Tog bort 3:an i listan och använde "http://(.*\.(.{2,3}))?/blaha.$" i kombination med "^http://(.*\.(.{2,3}))?/?(.*)?" så funkar allt :)

268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)