webForumDet fria alternativet

Klurigt regexp

.NET

1 svar · 396 visningar · startad av Addeladde

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

Har följande regexp som försöker hitta länkar i en text.

((https?://|www\\.)([A-Z0-9.-:]{1,})\\.[0-9A-Z?;~&#=\\-_\\./]{2,})

Problemet blir vid länkar av detta slag:
http://www.google.se/imgres?imgurl=http://tarras.blogg.se/images/2008/bil2_13615345.jpg&imgrefurl=http://tarras.blogg.se/2008/july/&usg=__OlmTSORNekHZ-ChRYRdzbLH2DTA=&h=400&w=400&sz=20&hl=sv&start=1&zoom=1&itbs=1&tbnid=Kuzf5L2Hfto3VM:&tbnh=124&tbnw=124&prev=/images%3Fq%3Dbil%26hl%3Dsv%26gbv%3D2%26tbs%3Disch:1

Nu kommer den att hitta två länkar istället.

Har försökt att skriva om regular expressionet till att endast hämta då det finns >, white-space eller radbrytning framför länken men får det inte att fungera.

Några lösningar?

Medlem sedan juni 20019 519 inlägg
#2

kan du skriva exemplen på vilka den skall träffa på och inte skall träffa på?

har en träff i regexp buddy:

(\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$])

men det är bara vid "text" skall den söka igenom html element eller vad menar du med ">"?

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)