我想要一个十进制输入的正则表达式,它可以在十进制或逗号之前占用四位数,在十进制/逗号之后可以占用两位数。没有小数的5位数字无效。也可以接受null。十进制值的正则表达式
正确价值观可以是:
1,1111,2222.56,0.99,9999.5间
无效
88888,8.888,
验证表明还包括逗号和小数点。
如果可能,那么也解释表达式。
我想要一个十进制输入的正则表达式,它可以在十进制或逗号之前占用四位数,在十进制/逗号之后可以占用两位数。没有小数的5位数字无效。也可以接受null。十进制值的正则表达式
正确价值观可以是:
1,1111,2222.56,0.99,9999.5间
无效
88888,8.888,
验证表明还包括逗号和小数点。
如果可能,那么也解释表达式。
Regex.IsMatch(strInput, @"[\d]{1,4}([.,][\d]{1,2})?");
,并解释:
[\d]{1,4} any character of: digits (0-9) between 1 and 4 times
[.,] any character of: '.', ','
[\d]{1,2} any character of: digits (0-9) between 1 and 2 times
(...)? match the expression or not (zero or one)
你匹配2222y56 – 2012-07-11 11:59:18
谢谢,它的工作。是否有可能为你解释正则表达式。我想知道关于每一个描述。 – Maverick 2012-07-11 12:06:30
使用这个表达式\d{4}[,\.]\d{2}
或\d+([,\.]\d+)?
任何小数
我们可以检查Stirng值做代码通过下面的代码
Dim Success As Boolean
If text.Contains(".") Then
Dim result As Integer = Split(text, ".")(1)
If result > 0 Then
Success = True 'Containing Decimal Points greater than
Else
Success = False 'Containing "0" as Decimal Points
End If
End If
Return Success
含有小数点
这个问题被标记为'C#'。这是基本? – mhlester 2014-01-18 07:17:56
^-?(0|[1-9]\d{0,3})([,\.]\d{1,2})?$
BEFORE逗号:
^- - 字符串
的开始? - 有可能是零或一个负号
0 - 十进制可能开始与一开始只有一个零...
| - 或...
[1-9] - 具有1任何数字至9
\ d {0,3} - 后跟任何3位数字
AFTER COMMA:
[,。] - 可能有“,”或“。”
\ d {1,2} - 随后用1个或2位数字
(...)? - 零个或一次
$ - 字符串的结束
已经回答:http://stackoverflow.com/questions/968825/regular-expression-for-decimal-number – 2012-07-11 11:47:49