English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaのMatcher groupCount()メソッドと例

java.util.regex.Matcherクラスは、さまざまなマッチ操作を実行するエンジンを表します。このクラスにはコンストラクタがありませんが、使用できます。matches()java.util.regex.Patternのメソッドで作成/このクラスのオブジェクトを取得します。

この(Matcher)クラスのgroupCount()現在のマッチエントリ内のキャプチャグループの数を計算するメソッド。

例1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GroupTest {
   public static void main(String[] args) {
      String regex = "(.*);+);*);
      String input = "This is a sample Text," 1234「、」間に数字が含まれています。
      //パターンオブジェクトを作成
      Pattern pattern = Pattern.compile(regex);
      //正規表現で構文済みパターンを文字列内にマッチング
      Matcher matcher = pattern.matcher(input);
      if(matcher.find()) {
         System.out.println("第1グループのマッチ「」")+matcher.group(1);
         System.out.println("第2グループのマッチ「」")+matcher.group(2);
         System.out.println("第3グループのマッチ「」")+matcher.group(3);
         System.out.println("グループの数をキャプチャリング「」")+matcher.groupCount());
      }
   }
}

出力結果

第1グループのマッチ:「This is a sample Text,」 123
第2グループのマッチ: 4
第3グループのマッチ:「、」間に数字が含まれています。
グループの数: 3

例2

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String[] args) {
      String str1 「=」「<p>This」<b>is</b>/<b>an</b> <b>example</b>/HTML<b>script</b>/b> wherever <b>ever</b> 代替 <b>word</b> is <b>bold</b></p>.";
      //正規表現で粗体タグの内容をマッチング
      String regex = "(t(\\S+)t)(\\s)";
      String str = "the words tit tat tweet tostff tact that tilt text start and end wit the letter t ";
      //パターンオブジェクトを作成
      Pattern pattern = Pattern.compile(regex);
      //正規表現で構文済みパターンを文字列内にマッチング
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.group(0));
      }
      System.out.println("キャプチャーグループの合計: ");+matcher.groupCount());
   }
}

出力結果

tit
tat
tweet
tact
that
tilt
text
tart
キャプチャーグループの合計: 3