NOCARRIER
NOCARRIER

Reputation: 2633

A regular expression that matches 25 chars and starts with digits

I have a text field which I need to validate using a regex. My requirement is as follow:

CCCCNNNNNN or CCCCNNNNNNN (Template)

1234ABCDEFG or 123-ABCDEFG (Example string)

Rules:

E.g. AAAA 1234 A58- is a valid string for CCCC.

Here is my research notes:

There is a wonderful post on RegEx patterns here:

Matching numbers with regular expressions — only digits and commas

My goal is to apply this REGEX pattern to a text box Mask in a WinForms app.

Upvotes: 0

Views: 6118

Answers (1)

Code Jockey
Code Jockey

Reputation: 6721

....

....

...yeah - I think the answer you are looking for (and I stress "think") is this expression:

^[0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}$

thats:

^               # assert beginning (not in the middle)
[0-9A-Za-z]{3}  # three characters that are: 0-9 or a-z (upper or lower)
[0-9A-Za-z-]    # one character that is: 0-9 or a-z (upper or lower) or a dash
\d{0,21}        # anywhere from 0 to 21 digits
$               # assert at the end (not somewhere in the middle

If you want to match several cases of this expression, put the above expression (minus the assertions) into parantheses (()) along with whatever is allowed to separate these values - I chose \s or "whitespace") and then use the + quantifier:

^([0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}\s+)+$

will match/validate the following input:

1234567890 AAAA123456789012345678901 GGG-123       hhh5   A1B2000000000

If you wanted something else, you'll have to ask a clearer question (there's a lot of contradiction and repetition in your question that makes it EXTREMELY confusing)

Upvotes: 3

Related Questions