Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Espressioni regolari

  1. #1

    Espressioni regolari

    Salve a tutti, come si usano in Java le regexp?

    Ho un lungo testo in una variabile, voglio che mi siano restituite tutte le occorrenze che matchano con la mia espressione (che già ho fatto)... come si fa?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Espressioni regolari

    Originariamente inviato da }gu|do[z]{®©
    Salve a tutti, come si usano in Java le regexp?

    Ho un lungo testo in una variabile, voglio che mi siano restituite tutte le occorrenze che matchano con la mia espressione (che già ho fatto)... come si fa?
    Se cerchi sul forum, è pieno di esempi (anche miei).

    http://forum.html.it/forum/showthrea...readid=1279787
    http://forum.html.it/forum/showthrea...readid=1267866
    http://forum.html.it/forum/showthrea...readid=1255713
    http://forum.html.it/forum/showthrea...readid=1209806
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ti ringrazio, cercando avevo trovato cose meno utili.

    In ogni caso non mi è chiaro come fare, se si può, quello che mi serve...

    in pratica ho una pagina html in cui ci sono delle sigle abbastanza "standard" ("TC" seguito da dei numeri), mi leggo il codice e devo estrarre quelle sigle... il problema è che le uniche sigle che mi interessano solo quelle cliccabili... l'espressione regolare che le individua l'ho fatta, ma mi restituisce anche i tag.... esiste un modo per farmi restituire solo una parte della stringa che specifico in una regexp più ampia? In php per esempio si può spezzettare il risultato in più parti

  4. #4
    Spiego meglio....

    questo è un esempio di come può essere fatto l'input



    TC12345 is no longer current. It split into: </P>TC392055TC219343


    Minimum current TC number is 302922. Maximum valid TC number is 407214
    .</P></body></html>


    a me interessa prendere "TC392055" e "TC219343"... ma per esvitare doppioni o falsi risultati con altre sigle che possono esser presenti (ma non cliccabili) in altri punti della pagina, vorrei prendere solo quelli cliccabili....

    così

    Pattern p = Pattern.compile(">[ ]*TC[0-9]+[ ]*</A>");
    Matcher m = p.matcher(input);

    while(m.find())
    {
    String tc = m.group();
    System.out.println(tc);
    }

    individua in effetti solo quelli... ma il risultato è

    >TC392055</A>
    >TC219343</A>

    io vorrei

    TC392055
    TC219343

    in php mi pare si possa fare, in java come si fa a parte eventualmente lavorandoseli dopo?


    Grazie

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da }gu|do[z]{®©
    esiste un modo per farmi restituire solo una parte della stringa che specifico in una regexp più ampia? In php per esempio si può spezzettare il risultato in più parti
    Sì, con i "gruppi" (delimitati tra ( ) ). L'esempio è nell'ultimo thread linkato sopra.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Originariamente inviato da andbin
    Sì, con i "gruppi" (delimitati tra ( ) ). L'esempio è nell'ultimo thread linkato sopra.
    ok, me lo leggo meglio perchè mi sa che avevo provato ma non c'ero riuscito

    Grazie

  7. #7
    ok, perfetto... fatto... era una fesseria... è che mi agito quando devo usare Java

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.