扫码一下
查看教程更方便
Regex类 end() 方法有两种方式,返回最后匹配字符之后的偏移量。
public int end()
// 或
public int end(int group)
group - 此匹配器模式中捕获组的索引。
组捕获的最后一个字符后的偏移量,如果匹配成功但组本身不匹配,则返回-1。
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