반응형
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
- js
- Java
- HashMap
- replace
- input
- vscode
- json
- date
- javascript
- CMD
- 정규식
- 이클립스
- 자바스크립트
- list
- ArrayList
- 인텔리제이
- Visual Studio Code
- 자바
- 배열
- table
- string
- CSS
- IntelliJ
- Button
- html
- Eclipse
- Array
- 이탈리아
- 문자열
- map
Archives
- Today
- Total
어제 오늘 내일
[Java Matcher] find() - 문자열에서 패턴 찾기 본문
문자열이 특정 패턴을 포함하는지 확인하거나, 여러 번 등장하는 패턴을 순차적으로 찾고 싶을 때는 Matcher.find()
메소드를 사용합니다. matches()
가 문자열 전체 일치를 검사하는 반면, find()
는 부분 일치를 탐색한다는 점이 큰 차이입니다.
1. 메소드 개요
- 메소드 시그니처
public boolean find() public boolean find(int start)
- 문자열 내에서 패턴과 일치하는 부분이 있으면
true
, 없으면false
를 반환합니다. find(int start)
는 지정한 인덱스부터 검색을 시작합니다.
2. 기본 사용 예제
import java.util.regex.*;
public class MatcherFindExample {
public static void main(String[] args) {
String input = "Java, JavaScript, Python, Java";
Pattern pattern = Pattern.compile("Java");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println("일치: " + matcher.group() +
" (위치: " + matcher.start() + ")");
}
}
}
예제 설명
Pattern.compile("Java")
→"Java"
라는 단어를 찾는 패턴을 생성합니다.matcher.find()
→ 입력 문자열을 순차적으로 검색하면서"Java"
가 등장할 때마다true
를 반환합니다.- 실행 결과:
일치: Java (위치: 0)
일치: Java (위치: 23)
즉, 문자열 내에서 "Java"
라는 단어가 두 번 발견되었습니다.
3. 숫자 추출 예제
import java.util.regex.*;
public class MatcherFindDigitsExample {
public static void main(String[] args) {
String input = "Order123, Code456, Item789";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println("숫자 발견: " + matcher.group());
}
}
}
실행 결과
숫자 발견: 123
숫자 발견: 456
숫자 발견: 789
정규표현식 \\d+
를 이용해 문자열 내 모든 숫자를 순서대로 추출할 수 있습니다.
4. 활용 사례
- 문자열 내 특정 단어 또는 패턴 검색
- 로그 파일에서 에러 코드, 날짜, IP 주소 등 추출
- 여러 번 등장하는 패턴을 순차적으로 처리
정리
Matcher.find()
메소드는 문자열 전체가 아닌 부분에서 정규표현식과 일치하는 패턴을 찾을 때 유용합니다. 반복문과 함께 사용하면 문자열 내 여러 패턴을 한 번에 처리할 수 있어 데이터 추출 및 분석에서 매우 자주 활용됩니다.
반응형
'IT > Java' 카테고리의 다른 글
[Java Matcher] replaceAll() - 정규식으로 문자열 치환하기 (0) | 2025.10.05 |
---|---|
[Java Matcher] group() - 매칭된 문자열 추출하기 (0) | 2025.10.05 |
[Java Matcher] matches() - 문자열 전체가 패턴과 일치하는지 확인하기 (0) | 2025.10.04 |
[Java Pattern] split() - 정규표현식으로 문자열 나누기 (0) | 2025.10.03 |
[Java Pattern] compile() - 정규표현식 패턴 만들기 (0) | 2025.10.03 |
Comments