자바에서 정규식을 활용한 문자열 검색

정규식(Regular Expression)은 텍스트에서 패턴을 검색하거나 추출할 때 유용한 도구입니다. 자바에서는 java.util.regex 패키지를 사용하여 정규식을 처리할 수 있습니다. 이 블로그 포스트에서는 자바에서 정규식을 사용하는 방법과 몇 가지 일반적인 정규식 패턴을 살펴보겠습니다.

1. 패턴과 Matcher 생성

먼저, 정규식 패턴을 정의하고 컴파일하는 작업을 수행해야 합니다. 이를 위해 Pattern 클래스를 사용합니다.

String patternString = "\\d+"; // 숫자를 찾는 패턴
Pattern pattern = Pattern.compile(patternString);

위의 코드에서는 숫자를 찾기 위한 정규식 패턴을 정의하고, Pattern.compile() 메서드를 사용하여 패턴을 컴파일했습니다.

2. Matcher를 사용한 문자열 검색

이제 Matcher 클래스를 사용하여 문자열에서 패턴과 일치하는 부분을 찾습니다. 예를 들어, 다음 텍스트에서 숫자를 찾아보겠습니다.

String text = "This is a sample text with numbers: 12345 and symbols like $%@";
Matcher matcher = pattern.matcher(text);

Matcher 객체를 생성하고, matcher.find() 메서드를 사용하여 패턴과 일치하는 첫 번째 매치를 찾습니다.

while (matcher.find()) {
    String match = matcher.group(); // 매치된 문자열을 가져옵니다.
    System.out.println("매치 발견: " + match);
}

위의 코드는 find()를 사용하여 패턴과 매치하는 모든 부분을 찾아내고, matcher.group() 메서드를 통해 각 매치된 문자열을 가져옵니다.

3. 다양한 정규식 패턴 활용

자바에서 정규식을 사용하면 다양한 작업을 수행할 수 있습니다. 아래는 몇 가지 더 예시를 든 패턴입니다.

  • 이메일 주소 찾기: \\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b
  • HTML 태그 제거: <[^>]+>
  • 전화번호 찾기: \\d{3}-\\d{3}-\\d{4}

정규식은 문자열 처리와 검색 작업을 단순화하는 강력한 도구입니다. 자바에서는 PatternMatcher 클래스를 사용하여 정규식 패턴을 정의하고 검색할 수 있습니다. 원하는 패턴을 작성하고, Matcher를 사용하여 텍스트에서 원하는 내용을 추출하는 데 활용할 수 있습니다.

이상으로 자바에서 정규식을 사용한 문자열 검색에 대한 간단한 소개를 마칩니다. 더 복잡한 패턴 및 응용 사례를 고려하면서 정규식을 활용해보세요.