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

Linda Hamilton
リリース: 2024-11-24 11:59:12
オリジナル
108 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート