반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- table
- CSS
- Eclipse
- string
- input
- 정규식
- 인텔리제이
- Java
- js
- 문자열
- map
- vscode
- Visual Studio Code
- date
- 이탈리아
- IntelliJ
- json
- replace
- 자바스크립트
- 배열
- ArrayList
- HashMap
- Array
- 이클립스
- Button
- list
- html
- javascript
- CMD
- 자바
Archives
- Today
- Total
어제 오늘 내일
[Java Matcher] group() - 매칭된 문자열 추출하기 본문
정규표현식으로 문자열을 검색할 때, 단순히 매칭 여부만 확인하는 것보다 매칭된 실제 문자열을 가져와야 하는 경우가 많습니다. 이때 사용하는 메소드가 Matcher.group()
입니다. 특히 정규식에 그룹(괄호 ()
)을 사용하면 원하는 부분만 추출할 수도 있습니다.
1. group()
메소드 개요
- 메소드 시그니처
public String group() public String group(int group)
group()
: 마지막으로 매칭된 전체 문자열을 반환group(int group)
: 정규표현식에서 지정한 그룹에 해당하는 부분만 반환- 그룹 번호는 0부터 시작 (0은 전체 매칭, 1부터는 소괄호 그룹)
2. 기본 사용 예제
import java.util.regex.*;
public class MatcherGroupExample {
public static void main(String[] args) {
String input = "Order123";
Pattern pattern = Pattern.compile("Order(\\d+)");
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
System.out.println("전체 매칭: " + matcher.group(0));
System.out.println("그룹 매칭: " + matcher.group(1));
}
}
}
예제 설명
- 정규식
"Order(\\d+)"
→"Order"
다음에 숫자가 오는 패턴을 의미하며,(\\d+)
는 그룹으로 지정됩니다. group(0)
→ 전체 매칭된"Order123"
반환group(1)
→ 첫 번째 그룹(\\d+)
에 해당하는"123"
반환
실행 결과:
전체 매칭: Order123
그룹 매칭: 123
3. 이메일 주소 추출 예제
import java.util.regex.*;
public class EmailGroupExample {
public static void main(String[] args) {
String email = "user@example.com";
Pattern pattern = Pattern.compile("([A-Za-z0-9._%+-]+)@([A-Za-z0-9.-]+)");
Matcher matcher = pattern.matcher(email);
if (matcher.find()) {
System.out.println("전체 매칭: " + matcher.group(0));
System.out.println("아이디 부분: " + matcher.group(1));
System.out.println("도메인 부분: " + matcher.group(2));
}
}
}
실행 결과
전체 매칭: user@example.com
아이디 부분: user
도메인 부분: example.com
정규식의 그룹을 활용해 이메일을 아이디
와 도메인
으로 분리할 수 있습니다.
4. 활용 사례
- 문자열 내 특정 부분(숫자, 단어, 도메인 등) 추출
- 정규식 그룹을 활용한 데이터 파싱
- 로그 파일에서 특정 항목(날짜, 아이디, 코드 등) 분리
정리
Matcher.group()
메소드는 매칭된 문자열을 가져올 수 있는 핵심 메소드입니다. 단순 매칭을 넘어서, 정규식 그룹 기능을 활용하면 원하는 부분만 추출할 수 있어 데이터 처리에서 강력하게 활용됩니다.
반응형
'IT > Java' 카테고리의 다른 글
[Java Scanner] 주요 메소드 정리와 활용 예제 (0) | 2025.10.06 |
---|---|
[Java Matcher] replaceAll() - 정규식으로 문자열 치환하기 (0) | 2025.10.05 |
[Java Matcher] find() - 문자열에서 패턴 찾기 (0) | 2025.10.04 |
[Java Matcher] matches() - 문자열 전체가 패턴과 일치하는지 확인하기 (0) | 2025.10.04 |
[Java Pattern] split() - 정규표현식으로 문자열 나누기 (0) | 2025.10.03 |
Comments