11
votes

Expression régulière pour correspondre aux entiers jusqu'à 9 chiffres

Je veux créer une expression régulière où seuls les nombres sont autorisés avec une longueur maximale 9 et aucune longueur minimale. Je suis venu avec \ d {9} [0-9] mais cela ne fonctionne pas.


0 commentaires

4 Réponses :


2
votes

On dirait que vous étiez fermé, essayez \ d {0,9} .


1 commentaires

Heureux d'aider, également à la fois VCSJONES et NT3RP, a fourni de beaux détails dans leurs postes.



26
votes

Vous êtes proche. Essayez ceci: xxx

le ^ et $ correspondent au début et à la fin du texte, respectivement. \ d {0,9} correspond à n'importe où dans la chaîne, donc d0000 passerait car il correspondrait au 0000 même s'il y a une annonce Ce que je ne pense pas que tu veux. C'est pourquoi ils ^ $ devrait être là-bas.


1 commentaires

Merci pour la solution et l'explication :)



14
votes

Les expressions régulières peuvent être délicates; Ce que vous avez écrit fait ce qui suit:

  • \ d - chiffre
  • \ d {9} - exactement 9 chiffres
  • \ d {9} [0-9] - exactement 9 chiffres, suivi de quelque chose entre 0 et 9

    Si vous ne voulez aucune limite minimale de longueur, mais une longueur maximale de 9, vous voulez probablement l'expression régulière suivante:

    • \ d {0,9} - 0 à 9 chiffres

1 commentaires

Belle explication, y a-t-elle ailleurs où je peux en apprendre davantage à ce sujet?



4
votes

Je pense que cela devrait être 1 à 9 chiffres: xxx


0 commentaires