Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    60

    [Java] Espressioni regolari

    Ciao ragazzi,
    scusate l'insistenza di questi giorni,ma purtroppo c'è sto progetto che mi sta togliendo la vita.
    Devo poter riconoscere,tramite espressioni regolari (libreria java regex) le date in una frase.

    Ad esempio i formati ammessi sono : 12-12-1234 oppure 12/12/1234 oppure 12 settembre 1234.

    Ho provato a leggere la documentazione sui regex,ma sarà per mia imbecillità,ma non riesco a capirci una mazza....
    Qualcuno può aiutarmi?
    "Gli ingegneri progettano il vostro futuro...e loro lo costruiranno..."

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

    Re: [Java] Espressioni regolari

    Originariamente inviato da pax22
    Ciao ragazzi,
    scusate l'insistenza di questi giorni,ma purtroppo c'è sto progetto che mi sta togliendo la vita.
    Devo poter riconoscere,tramite espressioni regolari (libreria java regex) le date in una frase.

    Ad esempio i formati ammessi sono : 12-12-1234 oppure 12/12/1234 oppure 12 settembre 1234.

    Ho provato a leggere la documentazione sui regex,ma sarà per mia imbecillità,ma non riesco a capirci una mazza....
    Qualcuno può aiutarmi?
    Quindi la data non è l'intera stringa ma è in mezzo ad una stringa e vuoi estrarre solo le date??

    codice:
    String str = "Ecco due date: 01/01/2008 e 11/07/2008";
    
    Pattern p = Pattern.compile ("\\d{2}/\\d{2}/\\d{4}");
    Matcher m = p.matcher (str);
    
    while (m.find ())
    {
        String data = m.group();
        System.out.println (data);
    }
    Ho fatto l'esempio solo con un pattern. Si può scegliere se fare 3 passaggi (uno per ogni pattern) o un passaggio unico complicando un pochino la regex.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    60
    Ok ma se invece io dovessi avere 1-1-1923 ???

    Il tuo pattern non lo prende...
    "Gli ingegneri progettano il vostro futuro...e loro lo costruiranno..."

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da pax22
    Ok ma se invece io dovessi avere 1-1-1923 ???

    Il tuo pattern non lo prende...
    Ovvio ... è da cambiare! E c'è da vedere se le date hanno sempre due cifre per giorno/mese oppure se possono averne anche solo una.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    60
    Possono averne anche solo una....per questo non riesco...
    "Gli ingegneri progettano il vostro futuro...e loro lo costruiranno..."

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da pax22
    Possono averne anche solo una....per questo non riesco...
    Se con i trattini, puoi fare:

    "\\d{1,2}-\\d{1,2}-\\d{4}"

    oppure

    "\\d\\d?-\\d\\d?-\\d{4}"

    è indifferente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    60
    Grazie ti voglio bene....
    "Gli ingegneri progettano il vostro futuro...e loro lo costruiranno..."

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.