正则表达式验证数字或字母A和D的范围

时间:2019-03-27 17:42:43

标签: c# asp.net

我已经从在线正则表达式生成器网站创建了正则表达式。但是他们都没有工作。我应该对它们进行哪些更改?请帮忙!!!

对于[0-30]或A或D之间的数字范围,

输入[0,1,2,...,30]有效,但它也验证大于30的数字。同样,所有正则表达式验证数字也都超过最大范围。

Regex.IsMatch(dr["ECO"].ToString(), @"([0-9]|[12][0-9]|30|A|D)$")

对于介于[0-25]或A或D之间的数字范围

Regex.IsMatch(dr["GEOGRAPHY"].ToString(), @"(^(2[0-5]|1[0-9]|[1-9])|A|D)$")

对于[1-20]或A或D之间的数字范围

Regex.IsMatch(dr["HEALTH_SCI"].ToString(), @"([0-9]|1[0-9]|20|A|D)$")

正则表达式在某些在线测试器中也显示有效,但是在C#中,这些正则表达式不起作用。问题是什么?请帮忙!!!

1 个答案:

答案 0 :(得分:2)

对于0-30或A或D,请参见here

^(([1-2]{0,1}[0-9]{1})|A|D|30)$

对于0-25或A或D,请参见here

^(([1]{0,1}[0-9]{1})|2[0-5]{1}|A|D)$

0-20或A或D应该根据第一个0-30 ...轻松实现。

编辑:根据Aleks的建议,已在regex101中测试的正则表达式中添加了链接,我不知道可以做到这一点,谢谢。

编辑:指向第一个解决方案的链接已更新,因为这是我第一次使用该工具,所以搞砸了!