gpt4 book ai didi

c# - 用于验证多个值范围的正则表达式 (.NET)

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:53 24 4
gpt4 key购买 nike

我可以选择使用正则表达式来验证一些值,我想知道最好的方法。

我有几个范围(不在同一个正则表达式/验证中),例如 1-9(这很简单 :P),以及:

1-99
1-999
1-9999

此外,我需要检查前导零,因此 0432 是一个可能的匹配项。

我知道 Regex 可能不是最好的方法,但它是我所拥有的,它是我必须使用的框架的一部分。

最佳答案

所有其他答案都存在根本缺陷!!

bool isMatch = Regex.IsMatch("9999", @"\d{1,3}");

虽然数字不是 1-3 位数字,但返回真。这是因为单词的一部分与表达式匹配。

你需要使用:

bool isMatch = Regex.IsMatch("9999", @"^\d{1,n}$");

其中 n 是最大位数。

更新

为了确保它不为零,将其更改为以下:

bool isMatch = Regex.IsMatch("9999", @"(^\d{2,n}$)|[1-9]");

更新 200或者000或者0000还是不行。我脑袋疼,待会儿再看看。我们可以用两个表达式 ("(^\d{2,n}$)|[1-9]"和 NOT (0)|(00)|(000)|(0000)) 来做,但这可能不是接受为单个正则表达式答案。

关于c# - 用于验证多个值范围的正则表达式 (.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3708634/

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