Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Java] Aiuto Pattern...

    Salve a Tutti,
    avrei bisogno di un aiuto con il Pattern di un camp JTextField,
    perchè proprio non riesco a capirli

    Vorrei ottenere questo risultato:
    l'utente può inserire nell'ordine...
    - solo tre lettere tra "XYZ" o "xyz"
    - uno o nessuno spazio
    - solo tre numeri da "0" a "9"
    - uno o nessuno spazio
    - solo due lettere da "A" a "Z" o da "a" a "z"

    Ho costruito questo Pattern:
    Pattern.compile("([XYZxyz]{3}+\\s+[0-9]{3}+\\s+[A-Za-z]{2})");

    ma così costringo l'utente a mettere uno spazio
    e non gli do la possibilità di non lasciarne, cioè
    ecco cosa ad esempio restituisce il Pattern...

    xyz 248 ed --> true
    xyz248ed --> false

    mentre vorrei che entrambe le stringhe, cioè con uno o senza spazi
    mi risultassero "true"!!

    Grazie a Tutti.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Il pattern corretto è questo:
    codice:
    ([XYZxyz]{3}+\\s{0,1}+[0-9]{3}+\\s{0,1}+[A-Za-z]{2})
    Dove, ogni spazio, può essere presente da 0 a 1 volta ( {0,1} ).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Cavolo non avevo pensato ad inserire la quantità {0,1}
    pere lo spazio \s !!

    Grazie Lele,
    sei un Dio

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.