Regex pour les nombres flottants positifs
Par exemple:
10
0.1
1.23234
123.123
0.000001
1.000
.3
Et de mauvais exemples:
0001.2
-12
-1.01
+2.3
EDIT: standart JavaScript regex.
source d'informationauteur Sergey Metlov
Vous devez vous connecter pour publier un commentaire.
Essayer ici
Voir ici en ligne sur Regexr
Si correspondant à la chaîne vide n'est pas voulu, alors vous pouvez ajouter un contrôle de la longueur de votre regex comme
L'anticipation positif
(?=.+)
assure qu'il y a au moins 1 caractèreCela va passer tous vos cas de test, le mode multi-lignes activées:
Explication:
RegExr: http://regexr.com?2tpd0
Je suis tombée sur cette page quelques fois, voici ma solution pour tout celui qui trébuche ici après moi:
Une regex comme a=(\d+\.?\d* | \d*\.?\d+) correspond à toutes les décimales des nombres sans signe mais inclut des choses comme 002.0
Une regex pour filtrer ces choses sont b=[1-9\.]+.*
Si une solution est-à-dire qu'il correspond aux critères de recherche, si un & b correspond. Ou, de manière équivalente (contrapositive), voir si il n'y a pas de match pour !un | !b. Malheureusement, la plupart des langues n'ont pas une regex complète paquet; le " et " et à neutraliser les fonctions des langages réguliers n'est pas présente habituellement. Deux simples regexes j'ai trouvé dans le code semble beaucoup plus agréable et plus facile à gérer que d'un complexe (je dis cela dans le contexte de cette question & des situations similaires)
Considérer l'expression régulière:
Cette expression régulière correspond à nombre à virgule flottante comme:
Ci-dessus expression régulière ne sera pas accepter:
Considérer l'expression régulière:
Cette expression régulière correspond à nombre à virgule flottante comme:
Cette expression régulière ne sera pas accepter:
Pur virgule flottante: