투케이2K

47. (java/자바) matches 정규식 - matches 정규식을 사용해 문자,숫자,특수문자 여부 확인 본문

Java

47. (java/자바) matches 정규식 - matches 정규식을 사용해 문자,숫자,특수문자 여부 확인

투케이2K 2020. 12. 31. 17:45
반응형

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

 

package Al;

public class MainActivity33 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[matches 정규식 - matches 정규식을 사용해 문자,숫자,특수문자 여부 확인]");
		
		//초기 문자열을 선언해줍니다
		String value = "D1-G2*";		
		System.out.println("원본 : "+value);
		
		for(int i=0; i<value.length(); i++) {
			/*[설 명]
			 * 1. matches 를 사용하면 정규식 만들 수 있습니다
			 * 2. [^a-zA-Z0-9] - 공백도 특수 문자로 인식합니다
			 * 3. [^a-zA-Z0-9\\s] - 공백은 특수 문자로 인식하지 않습니다
			 * 4. 로직 - 특수문자 여부를 확인 합니다
			 *         특수문자가 아닌 경우 숫자 및 문자 여부를 확인합니다
			 */
			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)+" : "+"문자");					
				}
			}
		}

	}//메인 종료

}//클래스 종료

/* =========================== */

[결과 출력]

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

원본 : D1-G2*

D : 문자

1 : 숫자

- : 특수문자

G : 문자

2 : 숫자

* : 특수문자

/* =========================== */

/* =========================== */

[요약 설명]

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

* 2. [^a-zA-Z0-9] - 공백도 특수 문자로 인식합니다

* 3. [^a-zA-Z0-9\\s] - 공백은 특수 문자로 인식하지 않습니다

* 4. 로직 - 특수문자 여부를 확인 합니다

              특수문자가 아닌 경우 숫자 및 문자 여부를 확인합니다

/* =========================== */

반응형
Comments