正则表达式模式不允许为零

时间:2013-09-24 12:11:58

标签: c# regex

我有这个模式它成功了:

@"^-?(0\.\d*[0-9]|[0-9]\d*(\.\d+)?)$

但我希望这种模式不允许像这样输入零:

not allowed inputs:
0.0     //not allowed
00.00   //not allowed


allowed inputs:

0.07    // allowed
0.70    // allowed
and any number decimal

2 个答案:

答案 0 :(得分:1)

如果只有“0”,我会使用negative lookahead assertion使正则表达式失败。

@"^-?(?!0*(\.0*)?$)(0\.\d*[0-9]|[0-9]\d*(\.\d+)?)$

here on Regexr

如果数字仅由零组成,则此表达式(?!0*(\.0*)?$)会使整个正则表达式失败。

答案 1 :(得分:0)

正则表达式用于匹配模式,而不是检查数值。使用正则表达式查找可能的字符串,然后检查其主机语言中的数值(PHP,无论如何)。