정규 표현식 사용하기

Java:
정규 표현식 사용하기

방법:

자바에서 정규 표현식을 지원하는 것은 주로 java.util.regex 패키지 안의 PatternMatcher 클래스를 통해서입니다. 다음은 문자열 내에서 대소문자를 구분하지 않고 단어를 찾아 모든 발생 위치를 출력하는 간단한 예입니다:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexExample {
    public static void main(String[] args) {
        String text = "Regex is great for parsing. Parsing with regex is powerful.";
        String wordToFind = "parsing";
        
        Pattern pattern = Pattern.compile(wordToFind, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(text);
        
        while (matcher.find()) {
            System.out.println("Found '" + matcher.group() + "' at position " + matcher.start());
        }
    }
}

출력:

'parsing'을(를) 위치 16에서 찾았습니다
'Parsing'을(를) 위치 31에서 찾았습니다

문자열을 분리하는 작업과 같은 경우, 정규 표현식을 사용한 String 클래스의 split() 메소드를 사용할 수 있습니다:

public class SplitExample {
    public static void main(String[] args) {
        String text = "Java,Python,Ruby,JavaScript";
        String[] languages = text.split(",");
        
        for (String language : languages) {
            System.out.println(language);
        }
    }
}

출력:

Java
Python
Ruby
JavaScript

자바에서 정규 표현식을 사용할 때, 외부 라이브러리가 복잡한 작업을 단순화시킬 수 있는 경우가 있습니다. 자바에서 정규 표현식을 다루기 위한 인기 있는 서드파티 라이브러리 중 하나는 Apache Commons Lang입니다. StringUtils와 같은 유틸리티를 제공하여 일부 정규 표현식 작업을 더 간단하게 만듭니다. 다음은 이를 사용하여 부분 문자열의 일치 항목 수를 계산하는 방법입니다:

import org.apache.commons.lang3.StringUtils;

public class CommonsLangExample {
    public static void main(String[] args) {
        String text = "Regex makes text processing easier. Processing text with regex is efficient.";
        String substring = "processing";
        
        int count = StringUtils.countMatches(text, substring);
        System.out.println("'" + substring + "'가 " + count + " 번 나타납니다.");
    }
}

Apache Commons Lang을 사용하기 위해서는 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml에 다음 의존성을 추가하세요:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version> <!-- 최신 버전을 확인하세요 -->
</dependency>

출력:

'processing'이(가) 2 번 나타납니다.