Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Parsing strict

3 réponses
Avatar
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

3 réponses

Avatar
Samuel DEVULDER
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)
Avatar
Hugo
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
Avatar
Hugo
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