📜  Java中的 MatchResult start(int) 方法和示例(1)

📅  最后修改于: 2023-12-03 15:16:25.017000             🧑  作者: Mango

Java中的MatchResult start(int)方法和示例
  • MatchResult start(int group) 方法用于返回指定分组匹配的第一个字符在输入字符串中的索引。 如果指定的分组没有匹配,则返回-1。

  • 该方法属于java.util.regex.MatchResult接口。

语法
int start(int group)
参数
  • group:指定要查询的分组索引。
返回值
  • 如果指定的分组匹配成功,则返回该分组匹配的第一个字符在输入字符串中的索引。
  • 如果指定的分组没有匹配,则返回-1。
示例

例如,我们有一个正则表达式(\\d{3})-(\\d{4}),在输入字符串"123-4567"中查找匹配,然后返回第二个分组匹配的第一个字符在输入字符串中的索引。

import java.util.regex.*;

public class MatchResultDemo {
    public static void main(String[] args) {
        String regex = "(\\d{3})-(\\d{4})";
        String input = "123-4567";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);

        if (matcher.find()) {
            int index = matcher.start(2);
            System.out.println("Match found at index " + index);
        } else {
            System.out.println("No match found.");
        }
    }
}

输出结果:

Match found at index 4

在这个例子中,我们使用PatternMatcher类来执行我们的正则表达式。 然后,我们使用find()方法来查找输入字符串中的匹配项。 最后,我们使用start(int group)方法来查找第二个分组匹配的第一个字符在输入字符串中的索引。 在这种情况下,第二个分组是\\d{4},对应的字符是4,因此,该方法返回4。