Setting a minimum/maximum character count for any character using a regular expression
I am trying to write a regular expression that will be used on a text box to validate its contents to see if it is between 1 and 35. The characters within the text box can be anything: numeric, alpha, punctuation, white space, etc. Here is what I have so far:
^[:;,\-@0-9a-zA-Zâéè'.\s]{1,35}$
As you can see, I have to list out all characters. Is there an easier way to say "all" characters?
Like this: .
The .
means any character except newline (which sometimes is but often isn't included, check your regex flavour).
You can rewrite your expression as ^.{1,35}$
, which should match any line of length 1-35.
It's usually the metacharacter .
when not inside a character class.
So use ^.{1,35}$
. However, dot does not include newlines unless the dot-all modifier is applied against it.
You can use ^[\S\s]{1,35}$
without any modifiers, and this includes newlines as well.
If you want to set Min 1 count and no Max length,
^.{1,}$
Yes, .
(dot) would match any character. Use:
^.{1,35}$
If you also want to match newlines, then you might want to use "^[\s\S]{1,35}$"
(depending on the regex engine). Otherwise, as others have said, you should used "^.{1,35}$"