Parsing strict

Le
Hugo
Bonjour,

Est-ce qu'il existe un parser de valeur numérique strict ?

Càd qui n'accepte que des valeurs 'canoniques', mais ne parse pas "0028"
en un entier 28, ou "142E2001000" en un float 'Infinity', car cela ne
correspond pas vraiment à des représentations classiques de valeurs
entière ou flottante.

Ecrire la regexp qui va bien n'est pas trop compliqué, mais j'ai peur de
rater des cas particuliers

(Contexte: guessing du type de donnée caché dans une string)

Merci,

--
Hugo
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Samuel DEVULDER
Le #22903061
Le 09/12/2010 12:16, Hugo a écrit :
Le 09/12/2010 11:41, Hugo a écrit:

Est-ce qu'il existe un parser de valeur numérique strict ?



Pour être plus exact, un parser qui n'accepte uniquement que ce que le
toString() a pu produire.




Ben dans ce cas il te suffit de parser normalement en acceptant les 001
au lieu de 1, puis tu fais toString() et tu compares si la chaine en
entrée et celle en retour de toString() sont identique. Ca me semble
faire ce que tu veux faire, non?

sam (pas besoin de chercher midi à 14 heures)
Hugo
Le #22902951
Le 09/12/2010 11:41, Hugo a écrit:

Est-ce qu'il existe un parser de valeur numérique strict ?



Pour être plus exact, un parser qui n'accepte uniquement que ce que le
toString() a pu produire.

--
Hugo
Hugo
Le #22903641
Le 09/12/2010 12:01, Samuel DEVULDER a écrit:

Ben dans ce cas il te suffit de parser normalement en acceptant les 001
au lieu de 1, puis tu fais toString() et tu compares si la chaine en
entrée et celle en retour de toString() sont identique. Ca me semble
faire ce que tu veux faire, non?

sam (pas besoin de chercher midi à 14 heures)



Merci pour la suggestion, bête et méchante. Je vais voir ce que ça donne
sur un jeu de données réelles. Je vois quelques cas tordus, mais qui
seront beaucoup plus rare que dans la situation actuelle.

--
Hugo
Publicité
Poster une réponse
Anonyme