模块  java.base
软件包  java.util.regex

Interface MatchResult

  • 所有已知实现类:
    Matcher

    public interface MatchResult
    匹配操作的结果。

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

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

      所有方法  实例方法 抽象方法 
      变量和类型 方法 描述
      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从左到右编制索引,从1开始。 组零表示整个模式,因此表达式m。 start(0)相当于m。 start()

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

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

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

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

        参数
        group - 此匹配器模式中捕获组的索引
        结果
        组捕获的最后一个字符后的偏移量,如果匹配成功但组本身不匹配 -1
        异常
        IllegalStateException - 如果尚未尝试匹配,或者上一个匹配操作失败
        IndexOutOfBoundsException - 如果模式中没有具有给定索引的捕获组
      • group

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

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

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

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

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

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

        Capturing groups从左到右编制索引,从1开始。 组零表示整个模式,因此表达式m.group(0)等效于m.group()

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

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

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

        组0表示按惯例的整个模式。 它不包含在此计数中。

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

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