-4

我有这个模式,它成功了:

@"^-?(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
4

2 回答 2

1

如果它只是“0”,我会使用否定的前瞻断言来使正则表达式失败。

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

在 Regexr 上查看

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

于 2013-09-24T12:17:11.630 回答
0

正则表达式用于匹配模式,而不是检查数值。使用正则表达式找到一个可能的字符串,然后以任何您的主机语言(PHP 等)检查它的数值。

于 2013-09-24T21:27:41.953 回答