- PR -

C#での正規表現について

1
投稿者投稿内容
サキ
会議室デビュー日: 2005/01/24
投稿数: 4
投稿日時: 2005-01-24 14:39
テキストボックスに数値の入力チェックをかけるため下記のコードを
書きましたがうまくいきません。

Regex r = new Regex(@"^[0-5]{1}.[1-3]{1}[1]{1}?$
             |^[0-4]{1}.[1-2]{1}[0-9]{1}?$
               |^[0-5]{1}.[0-9]{1}?$");

条件は、整数1桁(0〜5)で小数点以下2桁(0〜31)もしくは
整数1桁(0〜5)で小数点以下1桁(0〜9)の入力を許可し
整数のみの入力は禁止する。というものなのですが、整数のみの値3桁と
4桁の入力ができるようになってしまいます。

どのように修正すればよいでしょうか?
ご教授お願いいたします。
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-01-24 14:40
チェックしていませんが、
少なくとも . は全ての文字にマッチするのでエスケープする必要があります。
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-01-24 14:47
0〜5が正しければ(例にある0-4が間違いなら)
^[0-5]\.(?:3[01]|[0-2][0-9]|[0-9])$
でいい気がします
サキ
会議室デビュー日: 2005/01/24
投稿数: 4
投稿日時: 2005-01-24 15:04
にしざきさん、こんにちは。

早速のご回答ありがとうございます。
教えて頂いた通り実行したところうまくいきました。

どうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)