정규 표현식(Regular Expression)

서린·2024년 8월 6일
0

Java

목록 보기
3/4
post-thumbnail

정규 표현식(Regular Expression)

정규 표현식(Regular Expression)이란?

  • 문자열을 검색하거나 변경하기 위해 사용되는 패턴을 나타내는 문자열
  • 일반적으로 정규식(Regex) 로 줄여 부른다.
  • 복잡한 패턴의 문자열 검증 절차를 간단하게 표현 가능
  • 대부분의 언어에서 정규식 문법이 비슷하다.
  • 여러 기호를 조합하여 사용하기에 가독성이 좋지 않다.
  • 언어에 따라 시작기호와 종료기호를 생략하는 경우도 있다.

Java에서의 정규 표현식(Regular Expression) 사용법

  • String Class 이용
    package Java;
    
    public class HelloJava {
        public static void main(String[] args) {
            String str = "Hello World"; // 체크할 문자열
            String pattern1 = "[a-zA-Z]+"; // 체크할 패턴, 1글자 이상 영어 대소문자만 허용
            String pattern2 = "[0-9]+"; // 체크할 패턴, 1글자 이상 숫자만 허용
            String pattern3 = "[a-zA-Z ]+"; // 체크할 패턴, 1글자 이상 영어 대소문자 및 공백 허용
            
            System.out.println(str.matches(pattern1)); // false
            System.out.println(str.matches(pattern2)); // false
            System.out.println(str.matches(pattern3)); // true
        }
    }

Regex Package 이용
정규식을 Pattern 객체로 미리 컴파일 해둘수 있어서 처리 속도가 좀 더 빠르다
매칭된 데이터를 좀더 상세히 다룰 수 있다.

package Java;

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

public class HelloJava {
    public static void main(String[] args) {
        String str = "Hello World"; // 체크할 문자열

        // 특정 패턴의 Pattern 객체 인스턴스
        Pattern pattern1 = Pattern.compile("[a-zA-Z]+"); // 체크할 패턴, 1글자 이상 영어 대소문자만 허용
        Pattern pattern2 = Pattern.compile("[0-9]+"); // 체크할 패턴, 1글자 이상 숫자만 허용
        Pattern pattern3 = Pattern.compile("[a-zA-Z ]+"); // 체크할 패턴, 1글자 이상 영어 대소문자 및 공백 허용

        // Pattern.matcher() 메서드를 통해 문자열을 검사하고 필터링된 결과를 Matcher 객체로 반환
        Matcher matcher1 = pattern1.matcher(str);
        Matcher matcher2 = pattern2.matcher(str);
        Matcher matcher3 = pattern3.matcher(str);

        System.out.println(matcher1.matches()); // false
        System.out.println(matcher2.matches()); // false
        System.out.println(matcher3.matches()); // true
    }
}

profile
개발 일기 ( •̀ ω •́ )✧

0개의 댓글

관련 채용 정보