正则表达式的最小字符数

时间:2012-03-28 21:10:51

标签: regex

我创建了这个正则表达式来验证名称:

^[a-zA-Z0-9\s\-\,]+.\*?$

有没有办法添加最少数量的字符?

我知道我们可以使用{x,},但我无法使其发挥作用。

2 个答案:

答案 0 :(得分:6)

应该使用

{x,}代替+ ..

^[a-zA-Z0-9\s,-]{5,}

但这意味着,“一开始至少有5个字符与字符类中的字符匹配,然后是任何字符......

如果你这样写(几乎是原作 - 只用{5,}代替+):

^[a-zA-Z0-9\s\-\,]{5,}.\*?$

这意味着“开头的至少5个字符与字符类中的字符匹配,然后是任何一个字符,然后是星号,那应该是它的结尾”

答案 1 :(得分:4)

在正则表达式的开头使用lookahead,以确保字符总数至少是最小值。例如,如果您的最小值为8个字符:

^(?=.{8,})[a-zA-Z0-9\s\-,]+.\*?$

此外,您无需转义逗号。