gpt4 book ai didi

c# - 具体小数正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:48 25 4
gpt4 key购买 nike

我有正则表达式验证器,表达式如下:

^\d{1,4}(\,\d{1,3})?$

我不想验证下一个格式:

  1. 最多保留 3 位小数的小数,例如 0,125 1,15, 0,5 但不是 (1,1234) 没问题,但是用户可以写 5 位数字,例如 (12345, 54321 ... )

  2. 排除 0,所以如果用户只写 0,会出现错误,但用户可以写 0,5 或 0,125... 我不知道如何管理它

所以除场景 2 外,一切正常。我不知道如何只排除 0...我可以使用正则表达式验证器来做到这一点,还是应该尝试在函数中使用自定义验证器(检查值是否为 0)

最佳答案

您可以使用 negative lookbehind 禁止数字包含全零.这也会使所有由零和点组成的条目无效,但这可能是一件好事:很可能因为您不想要一个独立的零,所以您不想要 00, 000,或者 0.000:

^(\d{1,4}(\.\d{1,3})?)(?<!^[0\.]+)$
// ^^^^^^^^^^^^
// |||
// The lookbehind part

我添加到您的表达式中的部分检查字符串是否不完全由零和点组成。这是一个demo on ideone .

关于c# - 具体小数正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17084079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com