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

Java で正規表現の一致から文字列の配列を作成するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-29 14:43:13254ブラウズ

How Can I Create an Array of Strings from Regex Matches in Java?

正規表現の一致からの配列の作成

Java では、正規表現の一致は通常、パターンが文字列と一致するかどうかを示すブール値として検証されます。ただし、正規表現から一致する文字列を抽出して配列に入れることは可能です。

これを実現するには、Matcher を使用できます。

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

...

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

上記のコードはパターンを使用して、 Matcher インスタンスを作成し、一致を繰り返し識別するために使用します。各一致はリストに追加され、

allMatches.toArray(new String[0]);

を使用してリストを配列に変換できます。または、カスタム反復子を作成して一致に対する遅延反復を可能にすることもできます:

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

このイテレータを使用すると、一致する可能性のあるすべての一致をすぐに見つける必要がなく、一致を反復処理できます。

コードで示すようにスニペット:

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

MatchResult 実装を使用して一致に反復的にアクセスする方法を示します。

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

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