我想验证一个5位数字。
是否有正则表达式大师可以帮助使用适用于此场景的正则表达式?
我对正则表达式一无所知。这是较大解决方案的一小部分,其使用正则表达式字符串作为数据验证的遗留代码。一个数字作为参数出现。进行查找以获取正则表达式验证字符串。数字和正则表达式字符串将传递给执行regex.IsMatch的验证程序。
我的问题是上面的验证都可以用正则表达式编写,如果是这样的话会是什么样子?然后我可以将表达式添加到我的应用程序中的现有正则表达式库中。
答案 0 :(得分:1)
为何选择正则表达式?首先,您需要一个集合来存储您的范围,例如:
Dim ranges = New List(Of Tuple(Of Int32, Int32))
ranges.Add(Tuple.Create(0, 16))
ranges.Add(Tuple.Create(20, 25))
ranges.Add(Tuple.Create(32, 39))
支票本身很简单:
Dim firstTwo = text.TrimStart("0"c).Substring(0, 2)
Dim number As Int32
Dim isValid = Int32.TryParse(firstTwo, number) AndAlso
ranges.Any(Function(t) number >= t.Item1 AndAlso number <= t.Item2)