正则表达式不适用于C#

时间:2011-09-20 12:31:50

标签: c# .net regex

我写了一个RegEx for password,它接受最小长度为5,最大长度为30的任何字符。

我尝试过以下表达式:

(\S){5,30}

但它也接受超过30个字符的密码。如何确保它与此类密码不匹配?

2 个答案:

答案 0 :(得分:6)

您的问题是您的正则表达式还匹配您输入的子字符串。

\S{5}(或(\S){5})匹配字符串12345中的1234567890

所以你需要锚定你的正则表达式:

^\S{5,30}$

验证一个5-30个字符的非空白字符串。 \S周围的括号没用,也没用。

无论如何,为什么要对密码施加长度限制?为什么你不允许空格字符呢?另请参阅this

答案 1 :(得分:0)

如果你真的想要“任何角色”,请使用句号(.)代替\S

相关问题