Java

[이것이 자바다] 자바 정규표현식 공부 정리

Razelo 2021. 1. 5. 17:06

pattern_match

package sec10.exam01_pattern_match;

import java.util.regex.Pattern;

public class PatternExample {

	public static void main(String[] args) {
		String regExp = "(02|010)-\\d{3,4}-\\d{4}";// 자바에서는 역슬래쉬가 특정한의미가 있으므로 역슬래쉬가 역슬래쉬임을 알리기 위해 역슬래쉬를 두번 쓴다. 
		
		String data = "010-123-4567";//사용자가 입력한 데이터라고 가정 
	
		boolean result = Pattern.matches(regExp, data); //정규표현식으로 data를 검정한다. 
		if(result) {
			System.out.println("정규식과 일치합니다.");
		}else {
			System.out.println("정규식과 일치하지 않습니다.");
		}
		//정규식과 일치합니다. 
		
		regExp = "\\w+@\\w+\\.\\w+(\\.\\w+)?";
		data = "angel@naver.com"; //co.kr 이 되에 들어가면 .kr 부분이 (\\.\\w+)? 에 해당된다. 즉 있어도 되고, 없어도 된다는 뜻이다. -> 물음표 
		
		result = Pattern.matches(regExp, data);
		if(result) {
			System.out.println("정규식과 일치합니다.");
		}else {
			System.out.println("정규식과 일치하지 않습니다.");
		}
		//정규식과 일치합니다.
	}

}

 

 

 

 

필기

package regularexpression;

/*

정규 표현식과 Pattern 클래스
정규 표현식(Regular Expression)
문자열이 정해져 있는 형식으로 구성되어 있는지 검증할 때 사용한다. 
-> 이메일, 전화번호, 비밀번호 등
 
 -> 문자 또는 숫자 기호와 반복 기호가 결합된 문자열이다. 
 
 정규 표현식 작성방법
 -> 기본적으로 알아두어야할 기호 
 
 [] 한개의 문자 
 -> [abc] a,b,c 중 하나의 문자 
 -> [^abc] a,b,c 이외의하나의 문자
 -> [a-zA-Z] a~z, A ~Z중 하나의 문자 
 
 \d 한개의 숫자, [0-9]와 동일 
 \s 공백
 \w 한개의 알파벳 도는 한개의 숫자, [a-zA-Z_0-9]와 동일 
 ? 없음 또는 한 개
 * 없음 또는 한 개 이상
 + 한 개 이상
 {n} 정확히 n개 
 {n,} 최소한 n개 
 {n,n} n개에서부터 m개까지
 () 그룹핑 


전화번호
(02|010)-\d{3,4}-\d{4} 
//앞에 02 또는 010으로 시작을 하고, - 가 와야 하고, <\d(한개의 숫자) 인데 {3,4} 니까> 숫자가 최소 3자리에서 4자리가 와야한다. 
//그리고 - 가 오고 뒤에는 \d 숫자가 오는데, 반드시 {4} 즉 네자리가 와야한다는 뜻
 
이메일 (white@naver.com or white@naver.co.kr)
\w+@\w+\.\w+(\.\w+)?
// \w 로 한개의 알파벳과 한개의 숫자인데, + 이므로 한개이상의 알파벳과 숫자를 말한다. @이 오고, \w+에서 또 한개이상의 문자 또는 숫자가 와야한다. 
//그리고 \. 이기때문에 .이 와야한다. 그리고 붙는0 \w+는 (com)을 의미한다.
// 그리고 (co.kr)이 사용된다면 (\.\w+)? 이 온다. 
 

Pattern 클래스
정규 표현식으로 문자열을 검증하는 역할
boolean result =Pattern.matches("정규식","입력된 문자열");

 




*/
반응형