Pattern클래스는 첫 번째 파라미터인 패턴과
두 번째 파라미터인 문자열을 비교해
두 번째 문자열이 첫 번째 패턴과 일치하는 지를 알려준다.
숫자 한글자 : [0-9]
영소문자 한글자 : [a-z]
영대문자 한글자 : [A-Z]
유니코드 한글 한 글자 : [가-힣]
한글자가 아닌 문자열일 경우 *를 붙여준다.
숫자 : [0-9]*
영소문자 : [a-z]*
영대문자 : [A-Z]*
유니코드 한글 : [가-힣]*
자주 쓰이는 형식에 대해서 다음과 같은 축약형이 있다.
\d 하나의 숫자 : [0-9]
\D 하나의 숫자가 아닌 문자 : [^0-9]
\s 하나의 공백 문자 : [ \t\n\x0B\f\r]
\S 하나의 공백 문자 이외의 문자 :[^\s]
\w 하나의 영숫자 : [a-zA-Z_0-9]
\W 하나의 영숫자 이외의 문자 :[^\w]
또한 POSIX 형식의 분류가 있다.
\p{Lower} 하나의 소문자 알파벳 문자: [a-z]
\p{Upper} 하나의 대문자 알파벳 문자: [A-Z]
\p{ASCII} 모든 ASCII: [\x00-\x7f]
\p{Alpha} 하나의 알파벳 문자: [\p{Lower}\p{Upper}]
\p{Digit} 하나의 십진 숫자: [0-9]
\p{Alnum} 하나의 영숫자 문자: [\p{Alpha}\p{Digit}]
\p{Punct} 구두점: !”#$%&’()*,-./:;<=>?@[\]^_`{|}
\p{Graph} 하나의 눈에 보이는 문자7: [\p{Alnum}\p{Punct}]
\p{Print} 하나의 프린트 가능한 문자: [\p{Graph}]
\p{Blank} 하나의 스페이스(space)나 탭(tab): [ \t]
\p{Cntrl} 하나의 제어 문자: [\x00-\x1F\x7F]
\p{XDigit} 하나의 16진수 숫자: [0-9a-fA-F]
\p{Space} 하나의 공백문자: [\t\n\x0B\f\r]
주의 사항: \는 이스케이프 문자이기 때문에 \\ 이렇게 표시해야 한다.
자바에서의 실용예
num 이 숫자인지 확인
boolean a = Pattern.matches("\\p{Digit}*", num);
boolean b = Pattern.matches("[0-9]*", num);
boolean c = Pattern.matches("[\\d]*", num);
댓글 없음:
댓글 쓰기