【发布时间】:2016-04-02 14:22:35
【问题描述】:
期望的结果是一个不会在decimal.Parse 中引发异常并且不接受01-model-like 输入的正输入模式。
有效输入:
1
1.2
.2
1.
无效输入:
01
01.2
.
1.B
A.2
A
A.
我喜欢这个answer (-?(0|([1-9]\d*))(\.\d+)?) 中的模式;但不知何故(如评论中所述),它接受X.2(仅限Regex.IsMatch)和负小数,并拒绝1.;所以我将其修改为/((0|([1-9]\d*))(\.\d*)?)|(\.\d+)/g,它在regexr.com 和RegExr v1 中都能完美运行;但我对Regex.IsMatch 没有运气。
有什么建议吗?为什么该模式不适用于 Regex.IsMatch 而它在其他地方也可以使用?
【问题讨论】:
-
0.5 怎么样?这是一个有效的输入吗?
-
以下答案能回答您的问题吗?如果是,请接受可行的那个。
-
@MaheshChand;是的。
-
@WiktorStribiżew;我为迟到而道歉。该模式完美无缺;如果您发布答案,我会投票赞成(已选择最佳答案)。
标签: c# regex search text decimal