Javaregex-matcher-end1
提供:Dev Guides
java.util.regex.Matcher.end()メソッド
説明
- java.time.Matcher.end(int group)*メソッドは、前のマッチ操作中に特定のグループによってキャプチャされたサブシーケンスの最後の文字の後のオフセットを返します。
宣言
以下は* java.time.Matcher.end(int group)*メソッドの宣言です。
public int end(int group)
パラメーター
- group -このマッチャーのパターンのキャプチャグループのインデックス。
戻り値
グループによってキャプチャされた最後の文字の後のオフセット。一致は成功したがグループ自体が何とも一致しなかった場合は-1。
例外
- IllegalStateException -一致がまだ試行されていない場合、または前の一致操作が失敗した場合。
- IndexOutOfBoundsException -指定されたインデックスを持つパターンにキャプチャグループがない場合。
例
次の例は、java.time.Matcher.end(int group)メソッドの使用方法を示しています。
package com.finddevguides;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherDemo {
private static String REGEX = "(a*b)(foo)";
private static String INPUT = "aabfooaabfooabfoob";
private static String REPLACE = "-";
public static void main(String[] args) {
Pattern pattern = Pattern.compile(REGEX);
//get a matcher object
Matcher matcher = pattern.matcher(INPUT);
while(matcher.find()) {
//Prints the offset after the last character matched.
System.out.println("Second Capturing Group, (foo) Match String end(): "+matcher.end(1));
}
}
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
Second Capturing Group, (foo) Match String end(): 3
Second Capturing Group, (foo) Match String end(): 9
Second Capturing Group, (foo) Match String end(): 14