2009-06-23 7 views
0

Quelle est l'expression régulière correspondant à FS00000 où les 0 peuvent être un nombre compris entre 0 et 9? Il ne peut y avoir que 5 numéros suivant le FS.Expression régulière FS00000

+2

Quelle langue? Tout le monde est forcé de donner des réponses génériques, ce qui peut ou peut ne pas vous être utile. –

+1

@phone: ... Il ne peut y avoir que 5 chiffres .... Exactement 5 "{5}" ou jusqu'à cinq? {1,5}, ou aucun à 5? {0,5} ou ... ou ... :) – OscarRyz

Répondre

9
^FS\d{5}$ 

qui correspond au début de la ligne (^ - vous ne peut pas besoin de ce), puis FS, puis un chiffre \d 5 fois {5}, puis la fin de la ligne $ (encore une fois, vous ne pouvez pas besoin de cela, mais vous d doit alors se protéger contre un sixième chiffre suivant).

Vous ne spécifiez pas quelle langue/expression rationnelle, mais ce qui précède est plutôt générique.

EDIT: Vous pouvez fournir des marqueurs de délimitation de mots à la place des marqueurs de début et de fin de ligne, ce qui est un peu plus générique. \b marquera une limite de mot (en Perl - voir Perlre - mais équivalents existent dans d'autres langues)

+0

Cheers j'ai oublié le $ :( –

+1

Que diriez-vous d'ajouter des limites de mot au lieu des marqueurs de début et de fin de ligne? – Huppie

+0

Oui - Je pense que cela serait utile, je vais le modifier pour suggérer –

8

Essayez

FS\d{5} 

\d signifie un chiffre et {5} signifie exactement 5 d'entre eux.

+0

ne devriez-vous pas ajouter quelque chose comme \ D pour empêcher un sixième chiffre? – tanascius

+0

\ d correspondra à n'importe quel chiffre décimal Unicode (http://www.fileformat.info/info/unicode/category/Nd/list.htm) si utilisé dans .NET – VVS

+0

Ceci est la forme la plus basique, et oui, il pourrait Soyez améliorés. Comme par exemple, j'aurais pu l'entourer de^$ - mais la question était si vague que je ne voulais pas ajouter d'éléments potentiellement étrangers. –

1

FS [0-9] {5}

1

seulement 5 numéros signifie 0-5 chiffres?

FS[0-9]\{1,5\} 
0
^FS[0-9]{5}$ 

fera l'affaire.

Ceci correspond à toute chaîne commençant par (^) avec FS suivi de 5 fois de 0 à 9 puis de fin ($).

N'utilisez pas \ d dans ce cas car il correspondra également à Unicode Decimal Digits (au moins dans .NET).

6

Si le mot exact doit être adapté ne pas oublier les limites des mots:

\bFS\d{5}\b 

En fonction de la langue choisie le syntax for a word boundary might differ.

+0

Les limites des mots semblent être une bonne chose ici –

1

Notez que si FS00000 fait partie d'un autre texte et n'occupe pas la ligne, vous devez entourer le motif FS\d{5} par les limites des mots plutôt que les limites de la ligne:

\bFS\d{5}\b