Java 정규표현식 기초 다지기

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public static void test(){
	
	String regExp1 = "[a-zA-Z]"; //영문(대소문자) 포함 여부
	String regExp2 = "[ㄱ-힣]"; //한글 포함 여부
	String regExp3 = "[0-9]"; //숫자 포함 여부1
	String regExp4 = "[\\d]"; //숫자 포함 여부2
	String regExp5 = "[\\s]"; //공백 포함 여부(역슬래쉬는 원표시다)
	String regExp6 = "[\\w]"; //영문, 숫자, _(언더스코어) 포함 여부

	String regExp1_ = "[^a-zA-Z]"; //영문(대소문자) 미포함 여부
	String regExp2_ = "[^ㄱ-힣]"; //한글 미포함 여부
	String regExp3_ = "[^0-9]"; //숫자 미포함 여부1
	String regExp4_ = "[^\\d]"; //숫자 미포함 여부2
	String regExp5_ = "[^\\s]"; //공백 미포함 여부(역슬래쉬는 원표시다)
	String regExp6_ = "[^\\w]"; //영문, 숫자, _(언더스코어) 미포함 여부

	String regExp7 = "[a-zA-Z0-9ㄱ-힣]"; //특수문자 포함 여부
	String regExp7_ = "[^a-zA-Z0-9ㄱ-힣]"; //특수문자 미포함 여부

	String regExp8 = "(\\w)\\1\\1\\1"; //영문, 숫자, _ 가 4회 연속 반복되었는지 여부

	//패스워드 형식 : 영문+숫자+특수문자를 사용하여 8~20자리로 되어 있는지 여부
	String regExpPw = "^(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[^a-zA-Z0-9ㄱ-힣]).{8,20}$";

	//본격 테스트
	Matcher matchTest;
	String testWord = "abcABC123!@#";

	System.out.println("테스트 문자: "+ testWord);
	System.out.println();

	matchTest = Pattern.compile(regExp1).matcher(testWord);
	System.out.println("영문(대소문자) 포함: "+ matchTest.find()); //true

	matchTest = Pattern.compile(regExp2).matcher(testWord);
	System.out.println("한글 포함: "+ matchTest.find()); //false

	matchTest = Pattern.compile(regExp3).matcher(testWord);
	System.out.println("숫자 포함1: "+ matchTest.find()); //true

	matchTest = Pattern.compile(regExp4).matcher(testWord);
	System.out.println("숫자 포함2: "+ matchTest.find()); //true

	matchTest = Pattern.compile(regExp5).matcher(testWord);
	System.out.println("공백 포함: "+ matchTest.find()); //true

	matchTest = Pattern.compile(regExp6).matcher(testWord);
	System.out.println("영문,숫자,_ 포함: "+ matchTest.find()); //true

	matchTest = Pattern.compile(regExp7).matcher(testWord);
	System.out.println("특수문자 포함: "+ matchTest.find()); //true

	matchTest = Pattern.compile(regExp8).matcher(testWord);
	System.out.println("4회 연속 반복: "+ matchTest.find()); //false

	matchTest = Pattern.compile(regExpPw).matcher(testWord);
	System.out.println("패스워드 형식: "+ matchTest.find()); //true
	
}

public static void main(String[] args){
	test();
}

결과물

테스트 문자: abcABC123!@#

영문(대소문자) 포함: true
한글 포함: false
숫자 포함1: true
숫자 포함2: true
공백 포함: false
영문,숫자,_ 포함: true
특수문자 포함: true
4회 연속 반복: false
패스워드 형식: true
광고

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중