본문 바로가기

라이브러리 활용 - java.base 모듈

정규 표현식 클래스

정규 표현식

  • 문자 또는 숫자와 관련된 표현과 반복 기호가 결합된 문자열


    출처, 이것이 자바다


Pattern 클래스로 검증

  • java.util.regex 패키지의 Pattern 클래스는 정규 표현식으로 문자열을 검증하는 matches() 메소드 제공


    출처, 이것이 자바다


package ch12.sec10;

/*
 정규표현식(Regular Expression) : 특정한 규칙(패턴)을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어.
 프로그래밍 언어는 공통적으로 정규식 문법을 제공한다.
 Pattern 클래스 : 정규식문법을 지원
 예> 전화번호 데이터가 전화번호의 형식으로 구성되어있는지 패턴을 검사한다.
 */

import java.util.regex.Pattern;

public class PatternExample {

    public static void main(String[] args) {
        String regExp = "(02|010)-\\d{3,4}-\\d{4}"; //정규식    \d = 0~9에 해당하는 10진수를 사용해라 \를 한번더 안붙여주면 에러가남
        String data = "010-123-4567";
        boolean result = Pattern.matches(regExp, data);
        if(result) {
            System.out.println("정규식과 일치합니다.");
        } else {
            System.out.println("정규식과 일치하지 않습니다.");
        }
    }
}

package ch12.sec10;

/*
 url : https://zzang9ha.tistory.com/322 참고
 Pattern.matches(정규식, 검사할 문자열)
 ? : 0 또는 1개
 * : 0개 이상
 + : 1개 이상

 사용법 : 문자?, 문자*, 문자+

 \w : 알파벳, 숫자, _
 \W : 알파벳, 숫자, _ 제외한 문자

 \d : 숫자[0-9]
 \D : 숫자[0-9]를 제외한 문자

 \s : 공백문자
 \S : 공백문자가 아닌 나머지문자

  . : 임의의 한개 문자

 */

import java.util.regex.Pattern;

public class PatternExampleTest {

    public static void main(String[] args) {
        String regExp = "a.b"; //정규식 
        String data = "a4b";
        boolean result = Pattern.matches(regExp, data);
        if(result) {
            System.out.println("정규식과 일치합니다.");
        } else {
            System.out.println("정규식과 일치하지 않습니다.");
        }
    }
}

'라이브러리 활용 - java.base 모듈' 카테고리의 다른 글

리플렉션  (0) 2023.01.31
형식 클래스  (0) 2023.01.30
날짜와 시간 클래스  (0) 2023.01.30
수학 클래스  (0) 2023.01.30
포장 클래스  (0) 2023.01.30