2017-04-18 5 views
0

Je cherche une expression regex pour des nombres hors de portée particulière.nombres regex en dehors de la plage

NOT Les numéros acceptés sont v10,v11,v12,v13,v14,v15. Mon regex pour cela est v(1[0-5]) mais I ne veulent veulent rien d'autre que ces 6 numéros.

v1 - accepted. Need regex for this 
v5 - accepted. Need regex for this 
v100 - accepted. Need regex for this 
v51 - accepted. Need regex for this 
v10...v15 - not accepted. I already have a regex for this. 

Répondre

1

Utilisez des ancrages ou des limites pour rendre la correspondance plus stricte.

\bv(1[0-5])\b 

ou

^v(1[0-5])$ 

Démo: https://regex101.com/r/TPkTom/1/

Ancres/limites exigera une correspondance exacte. Sans ces seules parties de l'expression doivent correspondre.

par la mise à jour d'un test avant négatif travaillerait:

v(?!1[0-5]\b)\d+ 

Démo: https://regex101.com/r/TPkTom/4/

ou vous pouvez utiliser des verbes PCRE:

\bv1[0-5]\b(*SKIP)(*FAIL)|v\d+ 

https://regex101.com/r/TPkTom/3/

+0

je l'ai fait clarifié en éditant la question. pouvez-vous s'il vous plaît jeter un oeil – yregex2017

+0

@ yregex2017 Oh, sorte de mélange. Réponse mise à jour – chris85

+0

vous êtes un génie! Merci beaucoup. – yregex2017