C# C中十进制数验证的正则表达式#
我需要正则表达式,它允许正小数和负小数的范围 例如C# C中十进制数验证的正则表达式#,c#,regex,c#-4.0,C#,Regex,C# 4.0,我需要正则表达式,它允许正小数和负小数的范围 例如.89,-1000,0.00,0,300 我的正则表达式是^\d*\?\d* 问题是,当您输入特殊字符时,例如$,,*然后它接受这些字符 而不是regex,我将使用和具有类似的的区域性来解析它 这捕获了您提到的所有需求。您错过了一个反斜杠!单个点在正则表达式中有不同的含义 public static bool IsValidDecimal() { string input = "132456789" Match m = Regex
.89
,-1000
,0.00
,0
,300
我的正则表达式是^\d*\?\d*
问题是,当您输入特殊字符时,例如
$
,
,*
然后它接受这些字符 而不是regex,我将使用和具有类似的
的区域性来解析它
这捕获了您提到的所有需求。您错过了一个反斜杠!单个点在正则表达式中有不同的含义
public static bool IsValidDecimal()
{
string input = "132456789"
Match m = Regex.Match(input, @"^-?\d*\.?\d+");
return m.Success && m.Value != "";
}
如果您热衷于使用
regex
,请执行以下操作:
^-?[0-9]*\.?[0-9]+$
那么使用
float.TryParse有什么错呢?它对于负数,对于小数但没有小数部分的数字(如1.
)也会失败,即使这个也可以正常工作。谢谢你,朱尔斯。我错过了m.value=“”。我确信此正则表达式接受1.
,这不是一个格式正确的数字!
^-?[0-9]*\.?[0-9]+$