Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    44

    Espressioni regolari: help!!

    Ciao a tutti!!
    Avrei bisogno di un'espressione regolare che controlli che una stringa sia esattamente di 16 caratteri e che i caratteri siano tutte cifre tra 0 e 9.

    ovvero

    12366733399 --> NO
    jjjkk76767h --> NO
    abc1234567890123 --> NO
    123456789012345678 --> NO
    1234567890123456 --> SI

    Grazie!!

  2. #2
    Beh, questa bastava cercarla con google eh...
    cmq...

    [0-9]{16}

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    44

    Non è quella che cerco: grazie comunque!!

    Grazie comunque, ma questa controlla che i primi 16 caratteri siano cifre tra 0 e 9, ma non controlla che siano esattamente 16 e non di più.

    Ne sto cercando una che controlli anche che la stringa sia lunga esattamente 16.

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

    Re: Non è quella che cerco: grazie comunque!!

    Originariamente inviato da kill9
    Ne sto cercando una che controlli anche che la stringa sia lunga esattamente 16.
    Sarò esplicito al massimo livello:

    boolean ok = tuaStringa.matches ("[0-9]{16}");
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Veramente quella (se usata correttamente) controlla che la stringa sia esattamente di 16 caratteri!

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    La questione non è tanto relativa alla espressione regolare (confermo che è corretta) ma nel come la si usa. Quella espressione regolare, tradotta a parole, vuol solo dire "una sequenza di esattamente 16 cifre numeriche".

    Prendiamo una stringa in input "abc0123456789012345def". Si può usare quella regex? Beh sì ma dipende come! Una cosa è cercare una occorrenza di quella regex nella stringa e un'altra cosa è controllare che l'intera sequenza in input corrisponda esattamente alla regex.

    matches() di String si comporta in quest'ultimo modo: verifica che l'intera stringa corrisponda alla regex. Con la stringa sopra, restituirebbe false.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    assolutamente d'accordo con te!

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.