Possible en double:
How do I tell if a variable has a numeric value in Perl?Comment puis-je décider si une variable est numérique en Perl?
Je veux décider si une variable (valeur analysée à partir d'une chaîne) est un numéro ou non. Comment puis je faire ça? Eh bien, je suppose que /^[0-9]+$/
fonctionnerait, mais y at-il une version plus élégante?
Si vous insistez sur un regex, obtenir de Regexp :: Common :) –
Et, chacun de ces regexes qui utilise l'ancre $ permet un saut de ligne à la fin de la valeur. C'est une erreur dans perlfaq4 (j'ai maintenant patché les docs pour supprimer cette erreur), où Rosetta Code a eu son exemple. Cet exemple, cependant, était de déterminer quel genre de numéro il était, pas que ce soit une sorte de numéro. –
Corrigez-moi si je me trompe - mais il me semble que dans le cas particulier de vérifier strictement les chiffres (ie, sous-ensemble de numérique, car un numérique peut avoir un point décimal et éventuellement un signe négatif ou même un signe positif , ainsi que des virgules ou d'autres caractères de regroupement visuel utilisés pour regrouper les caractères en trois pour la lecture visuelle), alors le "/ \ D /" est - où les chaînes n'existent pas au test de chiffres seulement - toujours plus efficace que "/^\ d + $/"car"/\ D/"est vrai lors de l'analyse du premier caractère non numérique. –