ingsolv Skrevet 24. januar 2007 Skrevet 24. januar 2007 Skal plukke ut biter fra kildekoden til en webside, lager pattern for starttegn/innhold(flere linjer) /slutttegn av de bitene som skal plukkes ut. Får det til å virke om det som skal plukkes ut er på én linje, men fungerer ikke når det er over fler. Ikke så veldig god på regex uttrykk, så lurer på om noen vet hvordan det kan gjøres. Leste at []* skulle gjøre at den finner alt over flere linjer, men fikk det ikke helt til å fungere. Full kode til nå: import java.net.*; import java.io.*; import java.util.regex.*; public class URLConnectionReaderExample { public static void main(String[] args) { URL theseNotes = null; BufferedReader in = null; Pattern p = Pattern.compile("\\<td>([^\\<>]++)\\</td>"); try { theseNotes = new URL("http", "www.oslobors.no", 80, "/ob/aksjer?menu2show=1.1.1."); } catch(MalformedURLException e) { System.out.println("Cannot find webpage " + theseNotes); System.exit(-1); } try { URLConnection aConnection = theseNotes.openConnection(); in = new BufferedReader(new InputStreamReader(aConnection.getInputStream())); } catch(IOException e) { System.out.println("Cannot connect to webpage " + theseNotes); System.exit(-1); } try { String lineOfWebPage; String alt = ""; int teller = 0; while ((lineOfWebPage = in.readLine()) != null){ if(teller<2000) alt = alt + "\n" + lineOfWebPage; teller++; } Matcher m = p.matcher(alt); while ( m.find() ) { int gc = m.groupCount(); for ( int i=0; i<=gc; i++ ) { System.out.println( i + " : " + "\n" + m.group( i ) ); } } System.out.println("matches?" + m.matches()); in.close(); } catch(IOException e) { System.out.println("Cannot read from webpage " + theseNotes); } } }
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå