gwooden_코린이

java_정규식_221201(9일차) 본문

java/9일차

java_정규식_221201(9일차)

gwooden22 2022. 12. 1. 11:27
728x90

package 자바API;

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

public class Sample06 {

	public static void main(String[] args) {
		// 정규식 .compile(regex)
		
		
		Pattern p = Pattern.compile("b[a-z]*");
		Matcher m;
		
		//검사할 데이터 (검사할 글자 입력)
		m = p.matcher("bat");
		System.out.println(m.matches());

	}

}

.compile("b[a-z]*")

 

Pattern..compile("b[a-z]*")
m = p.matcher("bat");

("b[a-z]*") -> 첫 번째 자리는 무조건 b라는 단어가 나와야지 만족이고 그 다음 a - z 중 아무 알파뱃 소문자가 나와야 되고

마지막에는 * 아무거나 나오면 조건 만족시 true 조건 불만족시 flase


		Pattern p = Pattern.compile("b[a-z]*");
		Matcher m;
		
		m = p.matcher("cat");
		System.out.println(m.matches());

Pattern p = Pattern.compile("b[^a-z]*");
		Matcher m;
		
		m = p.matcher("bbbb");
		System.out.println(m.matches());


package 자바API;

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

public class Sample06 {

	public static void main(String[] args) {
		//패턴 클래스를 이용해서 하나하나 비교하는 작업
		String[] patterns = {	
				
				".",			
				
				"[a-z]?",		
				
				"[0-9]+",		
				
				"0[1-9]*",			
				
				"^[0-9]",			
				
				"[a-z]*",		
				
				"[a-z]+",		
				
				"02|010",		
				
				"\\s",			
				
				"\\S",			
				
				"\\d",		
				
				"\\w",			
				
				"\\W"
		};
		
		//단순 배열 2개 만들어 둔 것
		String[] datas = {		
				
				"bat",		
				
				"021231234",	
				
				"12345",		
				
				"011",		
				
				"bed",		
				
				"02",		
				
				"A",		
				
				"9",		
				
				"a",		
				
				"*"
		};
		
		for(String d : datas) {
			System.out.print(d + "문자와 일치하는 패턴 : ");
			
			for(String p : patterns) {
				Pattern pattern = Pattern.compile(p); // <-- 정규식
				Matcher m = pattern.matcher(d);
				
				if(m.matches())
					System.out.print(p + ", ");
			}
			System.out.println();
		}
	}

}

* 아무 값 또는 없어도 된다.

?는 0이나 1이거나

^[0-9] 0-0 중 하나

[^0-9] 0-9가 아닌것만

+는 값이 하나 무조건 있어야 된다

\\s 띄어쓰기 한번만 된 것

\\S 한글자인 값들만

\\d 숫자 한개만

\\w 특수문자가 없는것

\\W 특수문자가 있는것


//	(숫자가 1개 2개 이거나)-(숫자가 3개 4개 이거나)-(숫자가 4개)
		전화번호 = (0\\d{1,2})-(\\d{3,4})-(\\d{4})
				
//		(특수문자를 제외한)@(특수문자를 제외한).(특수문자를 제외한)
				이메일 = (\\w+)@(\\w+).(\\w+)

 

728x90
Comments