正規表現の使用

Java:
正規表現の使用

使い方:

Javaでのregexの組み込みサポートは、主にjava.util.regexパッケージのPatternクラスとMatcherクラスを通じて提供されます。ここに、文字列内の単語のすべての出現を大文字・小文字を区別せずに見つけて出力する簡単な例を示します。

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());
        }
    }
}

出力:

Found 'parsing' at position 16
Found 'Parsing' at position 31

文字列を分割するようなタスクの場合、regexを使用して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

Javaでregexを扱う際、複雑なタスクを簡素化する外部ライブラリが役立つ場合があります。Javaでregexを扱うための人気のサードパーティライブラリの一つにApache Commons Langがあります。これは、一部のregexタスクをより簡単にするような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 + "' appears " + count + " times.");
    }
}

Apache Commons Langを使用するには、プロジェクトに含める必要があります。Mavenを使用している場合、この依存関係をpom.xmlに追加してください。

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version> <!-- 最新バージョンを確認してください -->
</dependency>

出力:

'processing' appears 2 times.