Avatar billede jespera Nybegynder
03. marts 2005 - 22:27 Der er 21 kommentarer og
1 løsning

URL parser i c#

Hej,

Jeg har en textbox som indeholder textlinks. F.eks. http://www.eksperten.dk eller http://eksperten.dk osv....

Hvordan laver man en regex på det så den finder links.
Avatar billede arne_v Ekspert
03. marts 2005 - 22:46 #1
string s = "bla bla http://www.eksperten.dk bla bla http://eksperten.dk bla bla";
        MatchCollection res = Regex.Matches(s,"http://[^ ]* ");
        for(int i = 0; i < res.Count; i++) {
            string link = res[i].Value;
            // gør noget med link
        }
Avatar billede jespera Nybegynder
04. marts 2005 - 10:42 #2
Ok.....der er noget jeg ik forstå.

Jeg har en anden parser som leder efter href og herefter tager URL og udskriver dem...

//code
inputstring = text fra et textarea

Regex r;
Match m;

r = new Regex("href\\s*=\\s*(?:\"(?<1>[^\"]*)\"|(?<1>\\S+))",RegexOptions.IgnoreCase|RegexOptions.Compiled);

for (m = r.Match(inputString); m.Success; m = m.NextMatch())
{   
    Response.Write(m.Groups[1]);               
}           

Men når jeg så tager og bruger dit regex statement så udskriver den ikke noget....hvorfor...?

jeg har sat din regex statement ind her, ellers er resten det samme:

r = new Regex("http://",RegexOptions.IgnoreCase|RegexOptions.Compiled);
Avatar billede arne_v Ekspert
04. marts 2005 - 10:48 #3
Min regex indeholder ikke grupper så Groups[1] kan næppe give noget ...

Hvorfor bruger du ike bare den løkke jeg lavede ?
Avatar billede jespera Nybegynder
04. marts 2005 - 10:56 #4
Er der mulighed for at du kan omformere den til den jeg ønskede? Jeg er meget villig til at smide 40point oven i puljen :-)
Avatar billede arne_v Ekspert
04. marts 2005 - 12:00 #5
bare ret

m.Groups[1]

til

m.Groups[0]

:-)
Avatar billede jespera Nybegynder
04. marts 2005 - 12:57 #6
Heheh ok men nu udskriver den kun http:// ?
Avatar billede arne_v Ekspert
04. marts 2005 - 12:59 #7
Med:

r = new Regex("http://[^ ]* ",RegexOptions.IgnoreCase|RegexOptions.Compiled);

?
Avatar billede jespera Nybegynder
04. marts 2005 - 13:54 #8
Nu finder den ikke nogen links med http:// selvom det findes i textarea
Avatar billede arne_v Ekspert
04. marts 2005 - 15:05 #9
Er der mellemrum efter linket ?
Avatar billede jespera Nybegynder
04. marts 2005 - 16:08 #10
Nej
Avatar billede arne_v Ekspert
04. marts 2005 - 16:42 #11
Du skal have sat det ind i regex'en som de terminers med !
Avatar billede jespera Nybegynder
04. marts 2005 - 17:58 #12
Jeg er ikke helt med....har du evt et eks....
Avatar billede arne_v Ekspert
04. marts 2005 - 18:00 #13
Lad os sige at links enten slutter med mellemrum eller med komma:

r = new Regex("http://[^ ,]*[ ,]",RegexOptions.IgnoreCase|RegexOptions.Compiled);
Avatar billede jespera Nybegynder
04. marts 2005 - 18:21 #14
kan man ikke bare lede efter et mellemrum? hvis jeg forstå dit svar korretkt....altså, start med http:// og led indtil mellemrum?
Avatar billede arne_v Ekspert
04. marts 2005 - 18:25 #15
Jo men du sagde jo 16:08:27 at der ikke var mellemrum efter links !?
Avatar billede jespera Nybegynder
04. marts 2005 - 19:19 #16
Ja jeg har nok misforstået dig....sorry :-)

Jeg prøver lige igen....Jeg har et textarea som f.eks. indeholder links og alm text...

Eks...

Hej her er en lille test http://www.eksperten.dk og ja her er sørme en mere http://eksperten.dk og nu slutter jeg.....

Dvs, regex skal lede efter alle med http://
Avatar billede arne_v Ekspert
04. marts 2005 - 19:21 #17
Den bør blive fundet med mit oprindelige regex
Avatar billede jespera Nybegynder
04. marts 2005 - 19:25 #18
Ja du har ret....jeg ved godt nok ikke hvad jeg har lavet.......

Men tusind tak for hjælpen.....Som lovet smækker jeg lige de 40 oveni..... :-)

Har du evt et godt link omkring RegEx, forklaring osv.....
Avatar billede arne_v Ekspert
04. marts 2005 - 19:31 #19
så ligger jeg et svar
Avatar billede arne_v Ekspert
04. marts 2005 - 19:32 #20
Avatar billede arne_v Ekspert
04. marts 2005 - 19:36 #21
Ellers er jeg glad for Java dokumentationen:
  http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html

(syntaxen er den samme !)
Avatar billede jespera Nybegynder
04. marts 2005 - 20:10 #22
Super....god weekend :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester