J'essaie d'utiliser Regex pour trouver des numéros d'impôt avec les formats: P>
Edit: Certains échantillons sont jusqu'à présent, j'ai (0-9] {2,3} (\ s | - |) + [0-9] {3,8} (\ s | - |) + [0-9] { 3,9}) p>
Cela fonctionne, mais il trouve également merci! p> 062-225-505, 62-225-505, 062 225 505, 62 225 505, 062225502, 62225505 Code>. Les chiffres ne doivent pas dépasser 9 chiffres au total P>
050821862257111 code> qui est trop long pour ce que j'essaie de trouver. Comment puis-je limiter la chaîne totale ainsi que chaque partie étant limitée? P>
4 Réponses :
Avec une petite modification de votre regex, vous pouvez limiter la longueur à huit ou neuf chiffres, bien que cela permettrait toujours un mélange et une correspondance des délimiteurs: si le nombre réel des délimiteurs n'est pas important, vous pourriez simplement supprimer, puis vérifier la longueur des numéros restants. P> P>
Essayez Explication: P>
Démo P> ^ \ d {1,9} (?: (?: - - |) \ d {1,9}) * $ code> p> p> P>
^ code> - correspondre au début d'une chaîne p>
\ d {1,9} code> - correspond entre 1 et 9 chiffres P>
(?: ...) code> - groupe non captuirng p>
- | code> - altérant: correspondez code> ou - code> p> p> p>
* code> - correspond à zéro ou plusieurs fois p>
$ code> - correspond à la fin d'une chaîne p>
^\d{2}\d?(?:-|\s)?\d{3}(?:-| )?\d{3}$
demo at regex101This regex will only match if the spaces and dashes are in the right place. This will match: 062-225-505This will not match: 062-2255-05 or 062225--505
trouvé avec une combinaison de toute votre aide! :) p>
\ s \ d {2,3} \ d? (- | \ s)? \ d {3} (\ 1)? \ d {3} (?! \ D) P>
trouvé 62-225-505, 62225505, 062 225 505, et n'a pas trouvé 060821067254101 P>
Merci tout :) p>
Veuillez inclure des données d'échantillonnage réelles couvrant tous les différents formats d'ID de taxe.
Merci! Certains échantillons sont 062-225-505, 62-225-505, 062 225 505, 062225502, 62225505. Les chiffres ne doivent pas dépasser 9 chiffres au total