View Single Post
Old 18-05-2022, 08:30   #4
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12580
Disegnando l'automa a stati finiti per i numeri di massimo due cifre (da 1 a 99) ed *eventualmente* due cifre decimali, verrebbe una cosa di questo tipo (senza usare i quantificatori):

Codice:
^[1-9][0-9]?([.,][0-9][0-9])?$
Il caso 100 è scomodo per l'automa perché deve prendere un path completamente diverso, forse la cosa più semplice a quel punto è mettere in OR la prima parte della Regex con la stringa "100":

Codice:
^(100|[1-9][0-9]?)([.,][0-9][0-9])?$
Comunque, se non ho fatto errori, quella sopra è una possibile alternativa .

PS: ma il numero deve avere esattamente 0 o 2 decimali? Nel caso in cui debba avere 2 decimali esatti basta levare il "?" prima del simbolo dollaro.
WarDuck è offline   Rispondi citando il messaggio o parte di esso