我正在尝试实现一个正则表达式,它将检查字符串是否在1-50个字符之间。他们可以输入任何字符。
我是创建正则表达式的新手,但这是我的尝试:^{1,50}$
我试过的原因是我发现这是限制角色的方法。
对此的任何帮助都会很棒。
答案 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正则表达式开发工具。使用此程序,您只需从菜单中选择其不同的组件即可构建复杂的正则表达式。您可以测试创建的表达式为它们输入值。