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