[ Dejan Topalovic @ 27.01.2005. 23:37 ] @
Zelim pokupiti source kod jednog HTML sajta i iz njega izvuci par linkova pomocu RegExpa.
Taj dio izgleda ovako:
Code:
<tr id="bg05">
                <td> UID12345 </td>
                    
                <td align="center"><a href="http://www.blabla.de/neka_stranica1.php?u=3212">List 1</a></td>
                        
                <td align="center"><a href="http://www.blabla.de/stranica2.php?u=3212">´List 2</a></td>
                        

Zanimaju me ova dva linka u href atributu, te vrijednost varijable "u" u query stringu "?u=3212".

Koristim Pattern i Matcher klase pri regexpu, ali mi izgleda nedostaje odgovarajuci pattern.
Zahvaljujem se svima unaprijed na pomoci
[ Dragan @ 28.01.2005. 16:19 ] @
Cao,

probaj sa:

Code:

Pattern p = Pattern.compile("<a href=\".+?\\?u=(\\d+)\">.*?</a>");
Matcher m = p.matcher(input); 
        
int i = 0;
while(m.find(i)) {
    System.out.println("U=" + m.group(1));
    i = m.end(1);
}

[ filmil @ 28.01.2005. 16:27 ] @
Zar ne bi bilo lakše da se pomoću regexp-a uhvati sav tekst između href=" i krajnjih navodnika a onda se lepo to prosledi kao string klasi java.net.URI (ako se koristi 1.4.x), odnosno URL (ako se koristi 1.3 i ranije)?

UR{L|I} će lepo da isparsira izraz u zagradi a programer može da izvuče sve komponente kako mu odgovara.

f
[ filmil @ 28.01.2005. 16:29 ] @
Konkretno: http://java.sun.com/j2se/1.4.2/docs/api/java/net/URI.html#URI(java.lang.String),
odnosno: http://java.sun.com/j2se/1.4.2/docs/api/java/net/URL.html#URL(java.lang.String)

f
[ Dejan Topalovic @ 04.02.2005. 04:48 ] @
Zaboravio sam vas se jos jednom zahvaliti. Rijesio sam problem :) A nakanio sam se i procitati "Mastering Regular Expressions". Sam cu sebi reci - RTFM ! :)