2017-03-24 8 views
2

を必要な基本的には、私はクラスdouble値にテキストボックスの入力を制限するために探していますし、この出くわし:正規表現のヘルプは、私はプログラミングには本当に新しいですし、今までの正規表現に遭遇していない

`Regex regex = new Regex("[^0-9-]+"); 
    TextP1_TextChanged = regex.IsMatch(TextP1.Text);` 

私が欲しいです私のプログラムに実装し、それがTextChangedイベントの下で発生すると仮定していますが、私は実際に正規表現を実装する知識を持っていないので、ちょうど助けを探しています。

更新

私はTryParseを実装しましたが、フロントに0の有無にかかわらず、すなわち0.234または.234を小数を受け入れることを探しています。私の新しいコードは次のとおりです。

private void TextP1_TextChanged(object sender, EventArgs e) 
    { 
     bool isDouble = Double.TryParse(TextP1.Text, out P1); 
     if(isDouble == false) 
     { 
      MessageBox.Show("Text box only accepts positive number values", "Text entered into P1 is invalid", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
    } 
+2

'try..catch'で' double.TryParse'や 'double.Parse'を使ってparseable doubleをテストするだけではどうですか? – Psi

+1

@Psiが正しいです。あなたはRegexを必要としませんし、あなたの質問はRegedxだけでなくイベントハンドラやインターネット上で見つけたコードをあなたのアプリケーションにぶつける方法を求めるので、あなたの質問はあまりにも広すぎます。 – adv12

+1

私は今これを実装していますが、 '.0234'と' 0.234'を受け入れる必要がありますが、これを行う方法はありますか? –

答えて

0

この正規表現[0-9]*\.[0-9]*を使用できます。 *は、0〜9回の0〜x回を意味します。

regexrを使用すると、正規表現を高速でテストできます。

関連する問題