자바 정규표현식

June Lee·2021년 3월 11일
0

Java

목록 보기
15/23

1. 문자열.matches("정규표현식")

1) abc 포함

if(str.matches(".*abc.*")){
  System.out.println("매칭");
}

2) 숫자만 3자리

if(str.matches("[0-9]{3}")){ // [\\d]{3}
  System.out.println("매칭");
}

3) 알파펫, 숫자만 5자리 이상

if(str.matches("[0-9a-zA-Z]{5,}")) { // [\\w]{5,}
  System.out.println("매칭");
}

4) 한글 3~5자리

if(str.matches("[가-힣]{3,5}")) {
	System.out.println("매칭");
}

5) 숫자로 시작하지 않고, @문자열.문자열

\\.해야 우리가 아는 점의 의미 
if(str.matches("^[\\D]\\w+@\\w+\\.\\w{2,3}$")) {
	System.out.println("매칭");
}
  1. 확장자 확인
if(str.matches("^\\S+\\.(?i)(jpg|txt|gif|png)$")) {
	System.out.println("매칭");
}

(?i)는 대소문자 구분 없이 매칭시키는 것을 의미한다.


2. 문자열.replaceAll("정규표현식", 바뀐 문자열);

String message = "소프트웨어(SW) 중심사회를 실현하기 위해서는
SW의 가치를 제대로 인정하는 데서 출발해야 한다고 말했다.";
		
String result = message.replaceAll("SW", "소프트웨어");
System.out.println(result);

3. 패턴 클래스

사용 방법 1

String data[] = {"bat", "bba", "bbg", "bonus","CA", "ca",
"c232", "car","date", "dic", "diraaa"};

Pattern p = Pattern.compile("(?i)c[a-z]*");

for(String d: data) {
	Matcher m = p.matcher(d);
	if(m.matches()) {
    	System.out.println(d);
	}
}

사용 방법 2

String source = "ab?cde?fgh";
String reg = "(\\w)*";

Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(source);

while(m.find()) {
	System.out.println(m.group());
}
String source = "HP : 010-1111-1111, HOME: 02-222-2222";
String reg = "(0\\d{1,2}-\\d{3,4}-\\d{4})"; //그룹이라서 한 괄호에 묶어줘야한다.

Pattern p = Pattern.compile(reg); // 패턴을 만듦 
Matcher m = p.matcher(source); // 패턴을 타겟과 매치

while(m.find()) {
	System.out.println(m.group());
}
profile
📝 dev wiki

0개의 댓글