logo

Java Matcher group() メソッド

group メソッドは、前の一致によってキャプチャされた一致した入力シーケンスを文字列の形式で返します。このメソッドは、パターンが入力内の空の文字列と正常に一致した場合に、空の文字列を返します。

サイン

Javaには3種類のグループメソッドがあります。グループメソッドのシグネチャを以下に示します。

いいえ。 方法 説明
1 文字列グループ() 前回の一致によって取得された一致したシーケンスを文字列として返します。
2 文字列グループ(intグループ) 前回の一致操作中に指定されたグループによってキャプチャされた一致したシーケンスを文字列として返します。
3 文字列グループ(文字列名) 前回の一致操作中に指定された名前付きグループによってキャプチャされた一致したシーケンスを返します。一致が失敗した場合は null を返します。

指定者

インターフェース MatchResult のグループ

戻り値

前の一致と一致した (空の可能性がある) サブシーケンス (文字列形式)

投げる

IllegalStateException - 一致がまだ試行されていない場合、または前回の一致操作が失敗した場合。

例1

 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexGroupExample1 { public static void main(String[] args) { // TODO Auto-generated method stub Pattern p=Pattern.compile('a(bb)'); Matcher m=p.matcher('aabbabbabbaaa'); while(m.find()) System.out.println('Start :'+m.start()+', End : '+m.end()+', Group '+m.group()); } } 
今すぐテストしてください

出力:

 Start :1, End : 4, Group abb Start :4, End : 7, Group abb Start :7, End : 10,Group abb 

例 2

 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexGroupExample2 { public static void main(String[] args) { Pattern pattern = Pattern.compile('i(s)'); String input = 'My name is Khan and m not a terrerist.'; Matcher m = pattern.matcher(input); m.find(); String grp0 = m.group(0); String grp1 = m.group(1); System.out.println('Group 0 ' + grp0); System.out.println('Group 1 ' + grp1); System.out.println(input); } } 
今すぐテストしてください

出力:

 Group 0 is Group 1 s My name is Khan and m not a terrerist. 

例 3

 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexGroupExample3 { public static void main(String args[]) { String regex = '\b(?[A-Za-z\s]+)'; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher('#### Hello world ####'); while (matcher.find()) { if (matcher.groupCount() == 1) { System.out.println(' '+matcher.group('java')); } } } } 
今すぐテストしてください

出力:

 Hello world 

注: ここで、グループ名 java には、小文字と大文字のすべてのアルファベットが含まれています。