我有这个模式它成功了:
@"^-?(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
答案 0 :(得分:1)
如果只有“0”,我会使用negative lookahead assertion使正则表达式失败。
@"^-?(?!0*(\.0*)?$)(0\.\d*[0-9]|[0-9]\d*(\.\d+)?)$
如果数字仅由零组成,则此表达式(?!0*(\.0*)?$)
会使整个正则表达式失败。
答案 1 :(得分:0)
正则表达式用于匹配模式,而不是检查数值。使用正则表达式查找可能的字符串,然后检查其主机语言中的数值(PHP,无论如何)。