2008-11-21 4 views
0

Actuellement cette expression "I ([a-zA-z]\d]{3} " retours lorsque le motif suivant est vrai:Aide Modification regex Retour Gamme de Digits

 
I AAA 
I Z99 

je dois modifier cette façon, il retournera une gamme de caractères alphanumériques après I 2-13 qui n'ont pas d'espace.

Exemple:

 
I AAA 
I A321 
I ASHG310310 

Merci,

Dave

Répondre

7

sans les guillemets:

 
"I ([a-zA-Z\d]{2,13}) " 
+0

ne pas oublier les paren ")" de fermeture – Keng

+0

Oui. J'ai copié stupidement de la question et changé la partie manquante seulement parce que l'auteur a déclaré que c'était ce qu'il avait travaillé. Je ne peux pas imaginer ce qu'il a vraiment travaillé. – Tomalak

+0

Je recommande http://regexpal.com/ où vous pouvez évaluer vos expressions rationnelles et obtenir une rétroaction visuelle instantanée. Un économiseur de temps réel. – some

2

Les accolades {} permettent deux paramètres séparés par une virgule, qui indique la nombre minimum et maximum de répétitions. En outre, je ne suis pas sûr si votre expression régulière d'origine obtient ce que vous avez l'intention - comme il est écrit, il accepte 3 groupes d'une lettre et un nombre.

Vous voudrez peut-être essayer

I ([a-zA-Z]|\d){2,13} 

Il y a une page de référence ici: http://www.regular-expressions.info/reference.html

+0

Il est beaucoup plus efficace de placer le \ d dans la classe de personnage, comme l'a fait Tomalak. –