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