2017-03-24 4 views
2

내가 프로그래밍 정말 새로 온 사람과 지금까지 정규식 건너하지 않은 필요, 난 단지 두 클래스 값 텍스트 상자에 입력을 제한하고자하는이 건너 온 오전 :기본 정규식 도움이

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

내가 원하는 내 프로그램에 구현하고 그것이 TextChanged 이벤트 아래에서 발생한다고 가정하고 있지만 실제로는 정규 표현식을 구현할 지식이 없으므로 단지 도움이 필요합니다. 내가 TryParse을 구현했지만 즉 0.234 또는 .234, 또는 앞 0없이 진수를 받아 찾고

업데이트. 새로운 코드는 다음과 같습니다.

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는 필요하지 않습니다. Regex에 대해서뿐만 아니라 이벤트 처리기와 인터넷에서 찾은 코드를 응용 프로그램에 연결하는 방법을 묻는 것처럼 어쨌든 질문이 너무 광범위합니다. – adv12

+1

이제 구현했습니다. 작동하지만,'.0234'뿐만 아니라'0.234'도 받아 들일 수 있어야합니다. –

답변

0

[0-9]*\.[0-9]* 정규 표현식을 사용할 수 있습니다. *는 0-9가 0 번에서 x 번 발생할 수 있음을 의미합니다.

regexr을 사용하면 정규 표현식을 빠르게 테스트 할 수 있습니다.