如何使用正则表达式进行验证
本文关键字:验证 正则表达式 何使用 | 更新日期: 2023-09-27 18:36:08
我的要求是我输入的数字中的前两位数字在 00-32 范围内。如何通过 C# 中的正则表达式进行检查?我想不通!!`
你真的需要一个正则表达式吗?
int val;
if (Int32.TryParse("00ABFSSDF".Substring(0, 2), out val))
{
if (val >= 0 && val <= 32)
{
// valid
}
}
由于这几乎可以肯定是一个学习练习,这里有一些提示:
- 您的 rexex 将是两部分的"OR"
|
,两者都验证前两个字符
如果第一个字符是数字是 0.. - 2,第二个字符是数字 0..9,则第一个表达式部分将匹配
- 如果第一个字符是数字
3
,第二个字符是数字0..2
则第二个表达式部分将匹配
若要匹配数字范围,请使用[A-B]
范围,其中 A
是下限,B
是要匹配的数字的上限(两个边界都包括在内)。
尝试类似
Regex reg = new Regex(@"^([0-2]?[0-9]|3[0-2])$");
Console.WriteLine(reg.IsMatch("00"));
Console.WriteLine(reg.IsMatch("22"));
Console.WriteLine(reg.IsMatch("33"));
Console.WriteLine(reg.IsMatch("42"));
[0-2]?[0-9]
匹配从 0 到 29 的所有数字,3[0-2]
匹配 30-32。
这将验证从 0 到 32 的数字,并且还允许使用前导零的数字,例如 08。
您应该按
以下方式划分区域:
^[012]'d|3[012]
if(Regex.IsMatch("123456789","^([0-2][0-9]|3[0-2])"))
// match