ホームページ  >  記事  >  Java  >  Java 正規表現を使用して文字列から一致の配列を取得して配列するにはどうすればよいですか?

Java 正規表現を使用して文字列から一致の配列を取得して配列するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-24 11:59:12110ブラウズ

How to Retrieve and Array of Matches from a String Using Java Regular Expressions?

Java で正規表現を使用して一致を取得する

Java で正規表現を使用して指定された文字列から一致の配列を取得するには、マッチャーの作成と一致を反復します。

Matcher

パターン クラスのコンパイル メソッドを使用して Matcher オブジェクトを作成します。

Matcher m = Pattern.compile("regex_expression").matcher(input_string);

一致の反復

検索を使用します。反復処理する Matcher のメソッド一致:

List<String> allMatches = new ArrayList<>();
while (m.find()) {
  allMatches.add(m.group());
}

配列への変換

一致の配列が必要な場合は、toArray メソッドを使用します:

String[] matchesArray = allMatches.toArray(new String[0]);

MatchResult による拡張メソッド (Java >=) 9)

Java 9 以降では、Matcher で toMatchResult メソッドを使用して MatchResult オブジェクトを作成できます。これにより、一致を効率的にループするための遅延反復子を作成するメソッドが提供されます:

for (MatchResult match : MatchResult.findAll(p, input)) {
  // Use match information without advancing iteration...
}

たとえば、このコードは allMatches ヘルパー メソッドを使用して一致を反復し、グループと位置を出力します:

for (MatchResult match : allMatches(Pattern.compile("[abc]"), "abracadabra")) {
  System.out.println(match.group() + " at " + match.start());
}

以上がJava 正規表現を使用して文字列から一致の配列を取得して配列するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。