RegEx允许所有字符,长度应为1-50个字符

时间:2016-03-24 09:27:53

标签: c# regex

问题

我正在尝试实现一个正则表达式,它将检查字符串是否在1-50个字符之间。他们可以输入任何字符。

我是创建正则表达式的新手,但这是我的尝试:^{1,50}$

我试过的原因是我发现这是限制角色的方法。

对此的任何帮助都会很棒。

5 个答案:

答案 0 :(得分:8)

尝试^.{1,50}$

<强>解释

  • .点代表所有字符。除\n以外,您必须使用s DOTALL标记。

<强> Regex101 Demo

<强> Regular Expression Options

答案 1 :(得分:6)

对于您可以使用的精确长度

^.{50}$

然后检查长度范围,您可以使用

^.{5,50}$

如果我还包括字母数量的下限

,对于真实用户可能更为明智

如果您只想检查最小长度,可以使用

^.{50,}$

现在是一个至少五十个字母的字符串,但延伸到任意长度,

^.{0,50}$

这将匹配包含0到50(含)0到50(包括)任何字符的整个字符串。虽然正则表达式可能是这项工作的错误工具。 正则表达式过度,只需检查字符串的长度即可。你应该使用String.Length就像这样

if(UrString.Length > 0 && UrString.Length <= 50)

答案 2 :(得分:3)

如何只检查字符串的Length

string str = "less than 50 chars";
if(str.Length > 0 && str.Length <= 50)
{
    // yay, we've got a winner
}

答案 3 :(得分:0)

允许在正则表达式中使用.的所有字符。

所以,你要做的最多50个字符串:

^.{1,50}$

答案 4 :(得分:-1)

我建议

.{1,50}

要生成正则表达式,您可以使用Expresso,这是一个免费的.NET正则表达式开发工具。使用此程序,您只需从菜单中选择其不同的组件即可构建复杂的正则表达式。您可以测试创建的表达式为它们输入值。