c#/기타

[c#] Regex 숫자만 추출 , 문자만 추출 , ismatch

byH 2021. 12. 24. 09:28
728x90
반응형

특정 문자열에서 숫자만 있는지, 문자만 있는지 체크할 때 Regex라는 정규식을 이용한다.

텍스트박스에 텍스트를 입력하면 해당 텍스트가 regex를 만족하는지 label로 보여주는 식으로 테스트를 진행해보겠다.

 

준비과정)

- winform에 textbox 생성 및 label 생성

- textbox에 TextChanged 이벤트 함수를 걸어준다.

속성 창에서 번개모양 선택 후 TextChanged를 더블 클릭하면 자동으로 생성된다. 

^ : 처음

$ : 끝 

 

1. 숫자만 입력됐는지 확인    Regex regex = new Regex("^[0-9]*$");

텍스트 박스에 숫자만 입력됐으면 label1이 True로 , 숫자 외의 값이 입력되면 False로 바뀐다. 

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            //1. 숫자만 체크 
            Regex regex = new Regex("^[0-9]*$");
            bool aa = regex.IsMatch(textBox1.Text);
            label1.Text = aa.ToString();
            
        }

 

2. 숫자가 아닌 문자 Regex regex = new Regex("[^0-9]");

숫자만 있으면 false, 숫자+문자 = true , 문자 = true , 특수문자 = true

 private void textBox1_TextChanged(object sender, EventArgs e)
        {
          
            Regex regex = new Regex("[^0-9]");
            bool aa = regex.IsMatch(textBox1.Text);
            label1.Text = aa.ToString();
            
        }

 

3. 문자만 허용 (특수문자 포함)       Regex regex = new Regex("^[A-Za-z]*$");

 

728x90
반응형