IT/Java

[Java] 정규 표현식(Regular Expression)

Huitopia 2024. 3. 18. 17:20
728x90

정규 표현식(Regular Expression)

정규 표현식 혹은 정규식 은 특정 문자열의 규칙을 가지는 문자열의 집합을 표현하는 데 사용되는 언어를 의미한다.

 

1. 정규 표현식 패턴(Regular Expression Pattern)

표현 및 기호 설명
[] 한 개의 문자 [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.m} n개부터 m개까지
a | b a 또는 b
( ) 그룹핑

 

 

2. 정규 표현식 정규 메소드

해당 정규식을 기반으로 유효성 검증을 수행할지 아니면 치환할지에 대해 정한다.

 

2-1. Pattern Class

java.util.rege.Pattern 클래스는 import 하여서 정규식을 기반으로 문자열에 대한 검증을 수행한다.

메소드 설명
Pattern.matcher(String regex, CharSequence input) 대상이 되는 문자열과 정규식이 일치하는 경우 true, 아닌 경우 false를 반환
Pattern.pattern() 컴파일된 정규표현식을 String 형태로 반환
Pattern.compile(String regex) 컴파일된 정규 표현식을 반환
Pattern.asPredicate() 문자열을 일치시키는 데 사용할 수있는 술어를 작성
Pattern.split(CharSequence input) 문자열을 주어진 인자값 CharSequence 패턴에 따라 분리

 

2-2. Matcher Class

java.util.regex.Matcher를 import 하여서 문자열 내에 일치하는 문자열을 확인하기 위해 “정규식” 이용하여 찾고 존재여부를 반환해 주는 함수

메소드 설명
matches() 대상 문자열과 패턴이 일치할 경우 true 반환
find() 대상 문자열과 패턴이 일치하는 경우 true 반환 후 그 위치로 이동
find(int start) start 위치 이후부터 매칭 검색 수행
start() 매칭되는 문자열의 시작 위치 반환
start(ing group) 지정된 그룹이 매칭되는 시작 위치 반환
end() 매칭되는 문자열 끝 다음 문자 위치 반환
end(int group) 지정된 그룹이 매칭되는 끝 다음 문자 위치 반환
group() 매칭된 부분 반환
group(int group) 매칭된 부분 중 group번 그룹핑 매칭부분 반환
groupCount() 패턴내 그룹핑한(괄호지정) 전체 갯수 반환

 

 

 

 

참고 링크

 

[Java] 정규표현식(RegExp) 이해하기 : 패턴, 문자 클래스, 자주 사용 패턴

해당 글의 목적은 주요 정규식 조작함수를 이해하고 예제를 통한 이해를 돕기 위해 작성한 글입니다. 해당 글에서는 모든 함수에 대해서는 포함하고 있지 않으며 자주 사용되는 함수 위주로 작

adjh54.tistory.com

 

728x90