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() | 패턴내 그룹핑한(괄호지정) 전체 갯수 반환 |
참고 링크
728x90
'IT > Java' 카테고리의 다른 글
[Java] Collection Framework (0) | 2024.03.21 |
---|---|
[Java] 제네릭 Generic (0) | 2024.03.20 |
[Java] 포장 클래스(Wrapper Class) (1) | 2024.03.18 |
[Java] java.base 모듈 (1) | 2024.03.15 |
[Java] 메소드 참조(method reference) (0) | 2024.03.15 |