- Java Regex 教程
- Java Regex - 主页
- Java Regex - 概述
- Java Regex - 捕获组
- Java Regex - MatchResult 接口
- Java Regex - Pattern 类
- Java Regex - Matcher 类
- PatternSyntaxException 类
- Java Regex 示例
- Java Regex - 字符
- Java Regex - 字符类
- 预定义字符类
- POSIX 字符类
- Java Regex - JAVA 字符类
- Unicode 字符类
- Java Regex - 边界匹配器
- Java Regex - 贪婪限定符
- Java Regex - 消极限定符
- Java Regex - 独占限定符
- Java Regex - 逻辑运算符
- Java Regex 实用资源
- Java Regex - 快速指南
- Java Regex - 实用资源
- Java Regex - 讨论
java.util.regex.Matcher.start() 方法
说明
java.util.regex.Matcher.start(int group) 方法返回在上一个匹配操作期间由给定组捕获的子序列的起始索引。
声明
以下是 java.util.regex.Matcher.start(int group) 方法的声明。
public int start(int group)
参数
group − 此匹配器模式中捕获组的索引。
返回值
组捕获的第一个字符的索引,或如果匹配成功但组本身不匹配任何内容,则返回 -1。
异常
IllegalStateException − 如果尚未尝试匹配,或如果上一个匹配操作失败。
IndexOutOfBoundsException − 如果给定索引的模式中没有捕获组。
示例
以下示例显示了 java.util.regex.Matcher.start(int group) 方法的使用。
package com.tutorialspoint;
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 start index of the subsequence captured by the given group.
System.out.println("Second Capturing Group, (foo) Match String start():
"+matcher.start(1));
}
}
}
让我们编译并运行以上程序,这将产生以下结果 −
Second Capturing Group, (foo) Match String start(): 0 Second Capturing Group, (foo) Match String start(): 6 Second Capturing Group, (foo) Match String start(): 12
javaregex_matcher.htm
广告