用于检查字符串是否仅包含零的正则表达式
本文关键字:包含零 正则表达式 是否 检查 字符串 用于 | 更新日期: 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]
。