How to use Regular Expression to check for minimum string length


How do I use a Regular Expression to find out  if a string is at least N characters?

Who is Participating?
DominicCroninConnect With a Mentor Commented:
Of course, the correct answer to your question depends on which regex language you are using. It's not uncommon for a regex language to allow you to specify "both ends"  of an interval quantifier. Using several dots is one possibility, but let's assume Perl regexes for a moment. The interval quantifier allows you to say {n,m} meaning match n to m times. This means that


will match at least 5 characters. In perl this would look like:


Note that manav's use of anchors (^ and *) isn't necessary if all you want to do is check that the string is at least that long. Still - I suppose you want to make this part of some more complicated test. Using regexes just to check a string length is overkill. Most programming languages (all programming languages??) have simpler ways to get the length of a string.



Sorry didnt read 'atleast'.

/^......*$/    (remember to put 6 dots, * stands for any number of including 0)
Im sorry, was in a bad state while replying, so assumed it as 5.

/^.{N}.*/   replace N with the number of characters. AFAIK, you cannot use a variable here in a $ format.

second option is
/^......*/  - but do remember to put N+1 dots. This is because * works on the last dot and it means, any number of any character including zero characters. . so N dots means N characters and follow it by a .* for any number of characters including zero. So the whole thing reads like, N characters followed by any number of characters.....

I think the correct answer is "you shouldn't". Anyway - sufficient good suggestions have been given to award the points and PAQ the question.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.