C# 使用c中的正则表达式限制十进制数和数字长度#

C# 使用c中的正则表达式限制十进制数和数字长度#,c#,regex,C#,Regex,我一直在尝试验证一个数字,该数字将小数点限制为3点,将数字长度(包括点)限制为6,但无法正确验证。到目前为止,我的情况如下: ^([0-9]([.][0-9]{1,3})?){1,6}$ 如何更改上面的正则表达式以正确验证?谢谢。对于总长度,我只需检查字符串长度: if(s.Length <= 6 && Regex.IsMatch(s, @"^[0-9]+(\.[0-9]{1,3})?$")) { } ^(?=[0-9.]{1,6}$)[0-9]+(?:\.[0-9]

我一直在尝试验证一个数字,该数字将小数点限制为3点,将数字长度(包括点)限制为6,但无法正确验证。到目前为止,我的情况如下:

^([0-9]([.][0-9]{1,3})?){1,6}$

如何更改上面的正则表达式以正确验证?谢谢。

对于总长度,我只需检查字符串长度:

if(s.Length <= 6 && Regex.IsMatch(s, @"^[0-9]+(\.[0-9]{1,3})?$")) {

}
^(?=[0-9.]{1,6}$)[0-9]+(?:\.[0-9]{1,3})?$

if(s.Length您可以使用这个基于前瞻的正则表达式来检查长度:

if(s.Length <= 6 && Regex.IsMatch(s, @"^[0-9]+(\.[0-9]{1,3})?$")) {

}
^(?=[0-9.]{1,6}$)[0-9]+(?:\.[0-9]{1,3})?$