Module  java.base
软件包  java.util.regex

Interface MatchResult

  • 所有已知实现类:
    Matcher


    public interface MatchResult
    匹配操作的结果。

    该界面包含用于确定与正则表达式匹配的结果的查询方法。 可以看到匹配边界,组和组边界,但不能通过MatchResult修改。

    从以下版本开始:
    1.5
    另请参见:
    Matcher
    • 方法摘要

      所有方法  接口方法  抽象方法 
      Modifier and Type 方法 描述
      int end​()
      返回最后一个字符匹配后的偏移量。
      int end​(int group)
      返回给定组在此匹配期间捕获的子序列的最后一个字符之后的偏移量。
      String group​()
      返回与上一个匹配匹配的输入子序列。
      String group​(int group)
      返回在上一次匹配操作期间由给定组捕获的输入子序列。
      int groupCount​()
      返回此匹配结果模式中捕获组的数量。
      int start​()
      返回匹配的起始索引。
      int start​(int group)
      返回在此匹配期间由给定组捕获的子序列的开始索引。
    • 方法详细信息

      • start

        int start​()
        返回匹配的起始索引。
        结果
        第一个字符的索引匹配
        异常
        IllegalStateException - 如果尚未尝试匹配,或者以前的匹配操作失败
      • start

        int start​(int group)
        返回在此匹配期间由给定组捕获的子序列的开始索引。

        Capturing groups从左到右索引,从一开始。 组零表示整个模式,所以表达式m。 start(0)相当于m。 start()

        参数
        group - 此匹配器模式中捕获组的索引
        结果
        该组捕获的第一个角色的索引,或 -1如果匹配成功,但组本身不匹配任何东西
        异常
        IllegalStateException - 如果尚未尝试匹配,或者前一个匹配操作失败
        IndexOutOfBoundsException - 如果在给定索引的模式中没有捕获组
      • end

        int end​()
        返回最后一个字符匹配后的偏移量。
        结果
        最后一个字符匹配后的偏移量
        异常
        IllegalStateException - 如果尚未尝试匹配,或者以前的匹配操作失败
      • end

        int end​(int group)
        返回给定组在此匹配期间捕获的子序列的最后一个字符之后的偏移量。

        Capturing groups从左到右进行索引,从一开始。 组零表示整个模式,所以表达式m。 end(0)相当于m。 end()

        参数
        group - 此匹配器模式中捕获组的索引
        结果
        在组合捕获的最后一个角色之后的偏移量,或 -1如果匹配成功但组本身不匹配任何内容
        异常
        IllegalStateException - 如果尚未尝试匹配,或者前一匹配操作失败
        IndexOutOfBoundsException - 如果在给定索引的模式中没有捕获组
      • group

        String group​()
        返回与上一个匹配匹配的输入子序列。

        对于具有输入序列s的匹配器m ,表达式m。 group()s。 substring( m。 start(), m end())是等效的。

        请注意,某些模式(例如a* )与空字符串匹配。 当模式成功匹配输入中的空字符串时,此方法将返回空字符串。

        结果
        以前的匹配匹配的(可能是空的)子序列,以字符串形式
        异常
        IllegalStateException - 如果尚未尝试匹配,或者前一匹配操作失败
      • group

        String group​(int group)
        返回在上一次匹配操作期间由给定组捕获的输入子序列。

        对于匹配器m ,输入序列s和组索引g ,表达式m。 group( g )s。 substring( m。 start( g ), m。 end( g ))是等效的。

        Capturing groups从左到右索引,从一开始。 组零表示整个模式,因此表达式m.group(0)相当于m.group()

        如果匹配成功,但是指定的组不符合输入序列的任何部分,则返回null 请注意,某些组(例如(a*) )与空字符串匹配。 当这样的组成功匹配输入中的空字符串时,此方法将返回空字符串。

        参数
        group - 此匹配器模式中捕获组的索引
        结果
        在前一次比赛期间,该组捕获的(可能为空的)子序列,如果该组未能匹配部分输入, null
        异常
        IllegalStateException - 如果尚未尝试匹配,或者前一匹配操作失败
        IndexOutOfBoundsException - 如果在给定索引的模式中没有捕获组
      • groupCount

        int groupCount​()
        返回此匹配结果模式中捕获组的数量。

        组零表示按照惯例的整个模式。 它不包括在这个计数。

        任何小于或等于此方法返回值的非负整数将被保证为此匹配器的有效组索引。

        结果
        The number of capturing groups in this matcher's pattern