使用正则表达式为任何字符设置最小/最大字符数

时间:2012-05-09 15:14:48

标签: regex

我正在尝试编写一个正则表达式,将在文本框中使用它来验证其内容以查看它是否在1到35之间。文本框中的字符可以是任何内容:数字,字母,标点符号,白色这是我到目前为止所做的:

^[:;,\-@0-9a-zA-Zâéè'.\s]{1,35}$

如你所见,我必须列出所有角色。是否有更简单的方式来说“所有”字符?

5 个答案:

答案 0 :(得分:44)

像这样:.

.表示除换行符之外的任何字符(有时候通常不包括在内,请检查您的正则表达式)。

您可以将表达式重写为^.{1,35}$,该列表应匹配任何长度为1-35的行。

答案 1 :(得分:15)

不在字符类中时,通常是元字符.

因此请使用^.{1,35}$。但是, dot 不包括换行符,除非对其应用了dot-all修饰符。

您可以使用^[\S\s]{1,35}$而不使用任何修饰符,这也包括换行符。

答案 2 :(得分:11)

是的,.(点)会匹配任何字符。使用:

^.{1,35}$

答案 3 :(得分:8)

如果要设置最小1计数而没有最大长度,

^.{1,}$

答案 4 :(得分:4)

如果您还想匹配换行符,则可能需要使用"^[\s\S]{1,35}$"(取决于正则表达式引擎)。否则,正如其他人所说,你应该使用"^.{1,35}$"