1

文字列形式で範囲を入力するテキスト ボックスがあり、テキスト ボックス内のテキストは次のようになります。

「1~30」

「4~75」

その整数 &" から "& integer. これを検証する最良の方法は何ですか?

4

2 に答える 2

6

これは、正規表現に最適なタスクです。あなたの場合、式は次のように簡単です

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

つまり:

  • 文字列の先頭 ( ^)、
  • 複数の数字 (\dは数字、次の+意味: 前の 1 つ以上)、
  • いくつかの空白が続きます (\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 に答える