用于检查字符串是否仅包含零的正则表达式

本文关键字:包含零 正则表达式 是否 检查 字符串 用于 | 更新日期: 2023-09-27 17:55:20

我需要验证一个金额字段,该字段不应为零金额。例如。它不能为 0000,0.00,000.000,0 但它可以是 0.0001、1.000、1.00、1234.00 等值。

尝试@"[^1-9]+"@"0+(('.0+)"但它们使每个包含零的值无效。

用于检查字符串是否仅包含零的正则表达式

我不明白为什么你需要正则表达式,只需将字符串转换为数字并检查是否0

decimal actNumber;
if(decimal.TryParse(myAmount, out actNumber) && actNumber > 0) 
{ /* ... */ }

因此,您也可以在之后使用实际数字。

如果希望正则表达式检查仅包含一个字符的字符串,则可以指定该字符位于开头、结尾以及两者之间的任何位置。下面是如何对数字 0 执行此操作的示例:

regexp '^0+$'

如果您担心包含非零位数字的值,则可以使用以下方法确保不存在此类字符:

regexp '^[^1-9]+$'

^(?=.*?[1-9])'d+('.'d+)?$

您可以为此使用一个简单的lookahead,它将验证是否至少有一个[1-9]