ホームページ >Java >&#&チュートリアル >Java ですべての正規表現一致を配列に抽出するにはどうすればよいですか?

Java ですべての正規表現一致を配列に抽出するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-08 19:04:141014ブラウズ

How Can I Extract All Regex Matches into an Array in Java?

Java で正規表現式を使用して文字列一致を配列に抽出する

Java では、正規表現一致の配列を直接取得できないため、困惑するかもしれません。このガイドでは、この課題に対処し、正規表現に準拠するすべての文字列をキャプチャするソリューションを提供します。

これらの一致を取得する鍵は、次の出現箇所を反復的に検索するマッチャーの利用にあります。

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

List<String> allMatches = new ArrayList<>();
Matcher m = Pattern.compile("your regex expression here")
    .matcher(yourStringHere);
while (m.find()) {
   allMatches.add(m.group());
}

allMatches に一致を設定した後、次の場合は配列に変換できます。 required:

allMatches.toArray(new String[0]);

または、MatchResult を使用して照合操作を簡素化することを検討することもできます。 allMatches:

public static Iterable<MatchResult> allMatches(
      final Pattern p, final CharSequence input) {
  ...
}

のようなヘルパー関数を使用すると、次のような一致を反復できます。

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

出力の提供:

a at 0
b at 1
a at 3
c at 4
a at 5
a at 7
b at 8
a at 10

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

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