Javaregex-matchresult-group1

提供:Dev Guides
移動先:案内検索

java.util.regex.MatchResult.group()メソッド

説明

  • java.time.MatchResult.group(int group)*メソッドは、前のマッチ操作中に特定のグループによってキャプチャされた入力サブシーケンスを返します。

宣言

以下は* java.time.MatchResult.group(int group)*メソッドの宣言です。

int group(int group)

パラメーター

  • group -このマッチャーのパターンのキャプチャグループのインデックス。

戻り値

前回の一致中にグループによってキャプチャされた(おそらく空の)サブシーケンス、またはグループが入力の一部と一致しなかった場合はnull。

例外

  • IllegalStateException -一致がまだ試行されていない場合、または前の一致操作が失敗した場合。
  • IndexOutOfBoundsException -指定されたインデックスを持つパターンにキャプチャグループがない場合。

次の例は、java.time.MatchResult.group(int group)メソッドの使用法を示しています。

package com.finddevguides;

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

public class MatchResultDemo {
   private static final String REGEX = "(.*)(\\d+)(.*)";
   private static final String INPUT = "This is a sample Text, 1234, with numbers in between.";

   public static void main(String[] args) {
     //create a pattern
      Pattern pattern = Pattern.compile(REGEX);

     //get a matcher object
      Matcher matcher = pattern.matcher(INPUT);

      if(matcher.find()) {
        //get the MatchResult Object
         MatchResult result = matcher.toMatchResult();

        //Prints the input subsequence captured by the given group during the previous match operation.
         System.out.println("Second Capturing Group - Match String: "+result.group(1));
      }
   }
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

Second Capturing Group - Match String: This is a sample Text, 123