English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java.util.regex.Matcherクラスは、さまざまなマッチ操作を実行するエンジンを表します。このクラスにはコンストラクタがありませんが、使用できます。matches()
java.util.regex.Patternのメソッドで作成/このクラスのオブジェクトを取得します。
この(Matcher)クラスのgroupCount()現在のマッチエントリ内のキャプチャグループの数を計算するメソッド。
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
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