728x90
[자주 보는 정규 표현식]
정규 표현식 | 설명 |
^[0-9]*$ | 숫자 |
^[a-zA-Z]*$ | 영문자 |
^[가-힣]*$ | 한글 |
\\w+@\\w+\\.\\w+(\\.\\w+)? | |
^[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-z]+$ | |
^\d{2,3}-\d{3,4}-\d{4}$ | 전화번호 |
^01(?:0|1|[6-9])-(?:\d{3}|\d{4})-\d{4}$ | 휴대전화번호 |
\d{6} \- [1-4]\d{6} | 주민등록번호 |
^\d{3}-\d{2}$ | 우편번호 |
매칭될 문자를 지정하거나, 제외 | |
[abc] | a, b, c중 하나이면 일치 합니다. |
[^abc] | a, b, c를 제외한 다른 글자 이면 일치합니다. |
[a-zA-Z] | a 부터 z까지의 소문자 알파벳 이거나 A 부터 Z까지의 대문자 알파벳 중의 하나라면 일치합니다.(범위) |
[a-d[m-p]] | a 부터 d까지, 또는 m 부터 p까지 중에 하나와 일치합니다: [a-dm-p] (합집합) |
[a-z&&[def]] | d, e, f 중의 하나와 일치합니다. (교집합) |
[a-z&&[^bc]] | b와 c를 제외한 a 부터 z까지 중의 하나와 일치합니다: [ad-z] (차집합) |
[a-z&&[^m-p]] | m부터 p 까지를 제외한, a 부터 z까지 중의 하나와 일치합니다: [a-lq-z] (차집합) |
미리 정의된 문자를 지정 | |
. | 임의의 문자 (라인 종결자와 일치할 수도 하지 않을 수도 있음) |
\d | 숫자 문자: [0-9] |
\D | 숫자 문자가 아닌것: [^0-9] |
\s | 화이트 스페이스 문자: [ \t\n\x0B\f\r] |
\S | 화이트 스페이스 문자가 아닌것: [^\s] |
\w | 알파벳 단어 문자(word 문자): [a-zA-Z_0-9] |
\W | 알파벳 단어 문자가 아닌것: [^\w] |
수량 매칭 | |||
X? | X?? | X?+ | X가 없거나 한번 나옴 |
X* | X*? | X*+ | X가 없거나 한번 이상 나옴 |
X+ | X+? | X++ | X가 한번 또는 여러번 나옴 |
X{n} | X{n}? | X{n}+ | X가 정확히 n번 나옴 |
X{n,} | X{n,}? | X{n,}+ | X가 n번 이상 나옴 |
X{n,m} | X{n,m}? | X{n,m}+ | X가 n이상 m이하로 나옴 |
[정규식 사용 방법]
정규 표현식을 작성하는 방법은 자바 API java.util.regex 패키지를 사용해야한다.
[예제]
public class 자바정규식 {
public static void main(String[] args) {
// () 소괄호 안의 모든 문자열을 포함 (그룹화) 하는 문자열
// ex. (xy) xy가 그대로 포함된 문자열
// ^: 시작
// .: 줄바꿈을 제외한 임의의 한 문자를 의미. 줄바꿈을 위한 m옵션은 허용
// +: 앞의 표현식 1회 이상 일치
// &: 문자열의 종료를 의미
String regx = "^(확인 ).+$";
String str1 = "확인 ";
String str2 = "지금 확인 ";
String str3 = "확인 합니다.";
System.out.println(str1.matches(regx)); // false
System.out.println(str2.matches(regx)); // false
System.out.println(str3.matches(regx)); // true
}
}
728x90
'java' 카테고리의 다른 글
[java] 클래스명, 필드명 가져오기 (0) | 2021.10.25 |
---|---|
[java] Spring Tool Suite(STS) 자주 사용하는 단축키 (1) | 2021.10.15 |
[java] 정규식을 통한 공백 제거 (0) | 2021.09.09 |
[java] Stream, Lambda (0) | 2021.06.22 |
[java] 옵셔널 (0) | 2021.06.22 |