Avatar billede tetrix Nybegynder
31. august 2009 - 19:55 Der er 3 kommentarer og
1 løsning

Regex i Java

Hej eksperter.

Jeg har ledt overalt efter et eksempel på, hvordan jeg med regex kan udtage eksempel fra: < test="eksempel" />

Jeg leder ikke efter match strenget, men mere noget i retningen af, hvordan man bruger regex i Java og outputter resultatet.

De eksempler jeg har set indtil videre, returnerer kun en boolean..

Jeg undskylder for ikke at have den store forstand på Regex ;-)

tetrix_
Avatar billede arne_v Ekspert
31. august 2009 - 20:06 #1
Eksempel:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Regex {
    public static void main(String[] args) {
        String s = "<tag attr=\"val\" />";
        Pattern p = Pattern.compile("(<)(\\w+)([ ]+)(\\w+)([ ]*=[ ]*[\"'])([^\"']+)([\"'][ ]*/>)");
        Matcher m = p.matcher(s);
        if(m.find()) {
            System.out.println(m.group(2) + " : " + m.group(4) + " : " + m.group(6));
        }
    }
}
Avatar billede arne_v Ekspert
31. august 2009 - 20:10 #2
Men hvis det er valid XML var det nok bedre at bruge en XML parser.
Avatar billede tetrix Nybegynder
31. august 2009 - 20:18 #3
Jeg takker for 5. gang eller hvad det efterhånden er blevet ;-)

Med andre ord, smid et svar.

Dog var strenget ikke helt det jeg ledte efter, fordi det ikke kun er et parameter.

Men det havde du jo besvaret @ http://www.eksperten.dk/spm/857109 :-)
Avatar billede arne_v Ekspert
31. august 2009 - 20:24 #4
svar

(ja jeg lavede lidt om paa strengen, men tricket er .find og .group og passende parenteser - ligesom i .NET)
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
Kurser inden for grundlæggende programmering

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