[JavaStudy] 1. matches 정규식 - matches 정규식을 사용해 문자,숫자,특수문자 여부 확인

진주·2022년 3월 9일
0

JavaStudy

목록 보기
1/9

🌷 코드

public class _5_matches_study {

    public static void main(String[] args){
        System.out.println("[matches 정규식 - matches 정규식을 사용해 문자,숫자,특수문자 여부 확인]");

        String value = "D1-G2*";
        System.out.println("원본 : " + value);

        for(int i = 0; i < value.length() ; i++){
            // 특수기호인 경우
            if(String.valueOf(value.charAt(i)).matches("[^a-zA-Z0-9\\s]")){
                System.out.println(value.charAt(i) + " : " + "특수문자");
            }else{
                // 숫자인경우
                if(Character.isDigit(value.charAt(i))){
                    System.out.println(value.charAt(i)+ " : " + "숫자");
                }else{
                // 문자인 경우
                    System.out.println(value.charAt(i) + " : " + "문자");

                }
            }
        } // for문 종료
    }	// main 종료
}	// class 종료

[결과]


🧀 설명

  1. matches를 사용하면 정규식을 만들 수 있다.

    • [^a-zA-Z0-9] - 공백도 특수 문자로 인식한다.
    • [^a-zA-Z0-9\\s]- 공백은 특수 문자로 인식하지 않는다.
  2. 특수문자가 아니면 숫자인지, 문자인지를 확인한다.

  3. String.valueOf()를 통해 char인 value.charAt(i)를 String으로 변환해준 뒤, matches를 사용한다.

  4. Character.isDigit(char)을 이용하여 숫자인지 파악한다.

  5. matches를 통해 특수기호, Character.isDigit을 통해 숫자가 아닌 경우는 문자로 인식한다.


출처 : https://kkh0977.tistory.com/53

profile
진주의 코딩일기

0개의 댓글