1

我有一个文本框,我以字符串格式输入范围,文本框中的文本类似于

“1 到 30”

“4 到 75”

所以它的整数 &" 到 "& 整数。验证这一点的最佳方法是什么?

4

2 回答 2

6

这是正则表达式的完美任务。在您的情况下,表达式很简单

^\d+\s+to\s+\d+$

意思是:

  • ^字符串 ( )的开头,
  • 几个数字(\d是一个数字,下面的+意思是:前面的一个或多个),
  • 后跟几个空格(\s是空格、制表符等),
  • 后跟文字字符串to
  • 后跟空格,然后是数字,
  • 然后是字符串 ( $) 的结尾。

在 VB 中,您可以按如下方式匹配它:

If Regex.IsMatch(input, "^\d+\s+to\s+\d+$") Then ' Yes, it matches.

这需要导入System.Text.RegularExpressions命名空间

正则表达式是一种描述字符串的自己的语言,因此需要一些时间来适应。但它们是迄今为止处理此类字符串验证和简单解析工作的最简单工具,因此必须学习它们。

于 2012-09-11T18:54:06.430 回答
0

可以使用 Regex 类,只需实例化 Regex 类的新实例,将 '[1-30]' 作为模式传递给构造函数,然后运行 ​​'IsMatch' 方法返回一个布尔值,指示主题是否传入IsMatch 方法介于 1 到 30 之间。

于 2012-09-11T18:54:09.933 回答