- 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
广告