Je veux une expression régulière pour un nombre qui est une chaîne continue de chiffres sans espaces - S'il vous plaît aider! Thankyouexpression reg pour un nombre
Répondre
d * ou [0-9] * en fonction de la mise en œuvre ... Je suppose que
Vous vouliez dire '\ d', n'est-ce pas? Utilisez '+' au lieu de '*': '\ d *' correspondra à une chaîne paire et vide. – Amarghosh
'*' veut dire '0 ou plus', donc cela devrait correspondre' [0-9] * 'correspondrait à une chaîne vide. Pire, étant donné la chaîne 'abcd', cela retournerait 5 correspondances: une au début et à la fin de la chaîne, et une entre chaque caractère. Chaque match aurait une longueur de 0. '+' stipule '1 ou plus' et ne le ferait pas. –
C'est la plus simple:
^\d+$
Cette expression régulière correspond uniquement à des séquences d'un ou plus de chiffres. ^
et $
marquer respectivement le début et la fin de la chaîne.
Mais cela permettrait également des nombres avec des zéros en tête. Si vous ne voulez pas, utilisez ceci:
^(0|[1-9]\d*)$
Cela correspond soit un 0
ou un numéro commençant par 1
.. 9
suivie par zéro ou plusieurs chiffres arbitraires.
'^' et '$' marquent respectivement le début et la fin de la ligne - ceci ne correspondra pas 'a123456b' en raison des caractères non numériques. Ce n'est pas clair pour moi que c'est ce que le PO était après. –
Là encore, il n'est pas clair que ce soit * pas * ce que l'OP veut non plus. –
\d+
fonctionnera dans la plupart des implémentations.
\d
indique digit
- si votre implemenation n'a pas, utilisez à la place [0-9]+
.
+
signifie one or more of the preceeding pattern
.
modifier: Voici un exemple en python illustrant la différence entre +
et *
:
>>> import re
>>> r = re.compile('[0-9]*')
>>> print r.findall('asdf')
['', '', '', '', '']
>>> r = re.compile('[0-9]+')
>>> print r.findall('asdf')
[]
>>> print r.findall('abc12345ghi')
['12345']
>>> r = re.compile('^[0-9]+$')
>>> print r.findall('abc12345ghi')
[]
Si elle est juste pour regex:
\ d ne importe quel chiffre décimal; c'est équivalent à la classe [0-9].
vous pouvez donc écrire
\ d * ou [0-9] * - de chaîne vide à chaîne continue de chiffres
\ d + ou [0-9] + - à au moins un chiffre
Si vous voulez savoir comment l'utiliser dans une langue spécifique, spécifiez les langues.
- 1. Java - Expression Reg utilisant des groupes
- 2. Utiliser Reg Expression pour reformater l'image en flux RSS
- 3. Expression régulière pour le nombre
- 4. Expression régulière pour Landline Nombre
- 5. Javascript combinant une expression reg et une chaîne
- 6. PHP Reg ex pour analyser un lien
- 7. Créer un Reg Exp pour rechercher __word__?
- 8. Reg exp pour le lien youtube
- 9. Est-ce que l'utilisation de xor reg, reg donne un avantage sur mov reg, 0?
- 10. Reg Ex négation
- 11. Aide pour cette reg. exp. en PHP
- 12. Expression régulière pour limiter le nombre de caractères à 10
- 13. Reg exp pour remplacer esperluette mais pas des entités html
- 14. Comment mettre en forme un nombre dans Expression Language?
- 15. expression régulière pour le nombre correspondant et des espaces
- 16. expression régulière pour correspondre à un modèle
- 17. sauvegarde reg hives
- 18. Expression régulière pour extraire un numéro
- 19. Reg Ex pour correspondre à des numéros et des virgules
- 20. Format de chaîne avec Reg Ex
- 21. Expression régulière pour correspondre à un nombre à neuf chiffres qui commencent par un 1
- 22. extraction de chaîne Javascript/reg exp aide
- 23. MÉTHODE REG GÉNÉRIQUE
- 24. Expression régulière: trouver un nombre proche d'une chaîne donnée
- 25. Reg Plusieurs projets msi
- 26. Liens reg communication bases
- 27. Reg: Service à distance
- 28. Expression régulière pour le courrier électronique
- 29. Php reg exp: Motif répétitif correspondant
- 30. Bash reg-exp de substitution
pouvez-vous poster un exemple de chaîne pour correspondre? – jerjer
par exemple, "some45b40", y a-t-il correspondance ou 45 et 40 correspondances? – jerjer