Comment détecter un nombre à virgule flottante à l'aide d'une expression régulière

Qu'est ce qu'une expression régulière pour le traitement d'un nombre à virgule flottante (c'est à dire comme Java flottant)

La réponse doit correspondre à l'encontre des objectifs suivants:

 1) 1.  
 2) .2   
 3) 3.14  
 4) 5e6  
 5) 5e-6  
 6) 5E+6  
 7) 7.e8  
 8) 9.0E-10  
 9) .11e12  

En résumé, il devrait

  • ignorer précédant les signes
  • exiger que le premier caractère à gauche du point décimal soit non nul
  • permettre à 0 ou plus de chiffres sur chaque côté de la virgule
  • permettre à un nombre sans virgule décimale
  • permettre la notation scientifique
  • permettre de capital ou minuscule "e"
  • permettre positif ou négatif exposants

Pour ceux qui se demandent, oui, c'est un problème. Nous avons reçu une affectation dans mes études supérieures CS de classe sur des compilateurs. J'ai déjà tourné dans ma réponse pour la classe et l'affichera comme une réponse à cette question.

[Épilogue]
Ma solution n'a pas obtenir un crédit complet, car il n'a pas de poignée plus de 1 chiffre à gauche de la virgule. La mission a fait mention de la manipulation de Java flotte même si aucun de ces exemples n'ont plus de 1 chiffre à gauche de la virgule. Je vais poster la accepté de répondre dans son propre post.

source d'informationauteur Kelly S. French