モジュール java.base
パッケージ java.util.regex

インタフェースMatchResult

既知のすべての実装クラス:
Matcher

public interface MatchResult
マッチ操作の結果。

このインタフェースには、正規検索に対するマッチ結果の判定に使用するクエリー・メソッドが含まれます。 マッチ境界、グループ、およびグループ境界は見ることができますが、MatchResultによる変更は行われません。

実装上のノート:
名前付きグループのサポートは、デフォルトのメソッドstart(String)end(String)およびgroup(String)によって実装されます。 これらはすべて、namedGroups()によって返されるマップを使用します。デフォルトの実装では、単にUnsupportedOperationExceptionがスローされます。 したがって、これらのメソッドが機能するようにnamedGroups()をオーバーライドするには十分です。 ただし、パフォーマンスやその他の理由で直接上書きすることが望ましい場合があります。
導入されたバージョン:
1.5
関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    end()
    最後にマッチした文字の後のオフセットを返します。
    int
    end(int group)
    このマッチ操作中に指定されたグループによって前方参照された部分シーケンスの、最終文字の後のオフセットを返します。
    default int
    end(String name)
    前回のマッチ操作で、指定された名前付きの前方参照を行う正規表現グループによって前方参照された部分シーケンスの、最後の文字の後のオフセットを返します。
    前回のマッチで一致した入力部分シーケンスを返します。
    group(int group)
    前回のマッチ操作で指定されたグループによって前方参照された入力部分シーケンスを返します。
    default String
    group(String name)
    前回のマッチ操作で指定された名前付きの前方参照を行うグループによって前方参照された入力部分シーケンスを返します。
    int
    このマッチ結果のパターンに指定されている、前方参照を行う正規表現グループの数を返します。
    default boolean
    thisに以前の一致または検索操作からの有効な一致が含まれているかどうかを返します。
    default Map<String,Integer>
    キャプチャリング・グループ名からグループ番号への変更不可能なマップを返します。
    int
    マッチの開始インデックスを返します。
    int
    start(int group)
    このマッチ操作中に指定されたグループによって前方参照された部分シーケンスの、開始インデックスを返します。
    default int
    start(String name)
    前回のマッチ操作で指定された名前付き前方参照グループによって前方参照された部分シーケンスの開始インデックスを返します。
  • メソッドの詳細

    • start

      int start()
      マッチの開始インデックスを返します。
      戻り値:
      マッチした最初の文字のインデックス
      例外:
      IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合
    • start

      int start(int group)
      このマッチ操作中に指定されたグループによって前方参照された部分シーケンスの、開始インデックスを返します。

      前方参照を行う正規表現グループは、左から右に1からインデックス付けされます。 グループ0はパターン全体を示すため、式m.start(0)m.start()と同等です。

      パラメータ:
      group - この正規表現エンジンのパターンに指定されている前方参照を行う正規表現グループのインデックス
      戻り値:
      グループによって前方参照された最初の文字のインデックス。マッチは成功したがグループ自体はどの部分にもマッチしなかった場合は-1
      例外:
      IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合
      IndexOutOfBoundsException - 指定されたインデックスを持つ前方参照を行う正規表現グループがそのパターンに含まれない場合
    • start

      default int start(String name)
      前回のマッチ操作で指定された名前付き前方参照グループによって前方参照された部分シーケンスの開始インデックスを返します。
      実装要件:
      このメソッドのデフォルトの実装では、namedGroups()を呼び出してname引数からグループ番号を取得し、start(int)の呼出しに対する引数として使用します。
      パラメータ:
      name - この正規表現エンジンのパターンに指定されている名前付きの前方参照を行う正規表現グループの名前
      戻り値:
      グループによって前方参照された最初の文字のインデックス。マッチは成功したがグループ自体はどの部分にもマッチしなかった場合は-1
      例外:
      IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合
      IllegalArgumentException - 指定された名前を持つ前方参照を行う正規表現グループがそのパターンに含まれない場合
      導入されたバージョン:
      20
    • end

      int end()
      最後にマッチした文字の後のオフセットを返します。
      戻り値:
      最後にマッチした文字の後のオフセット
      例外:
      IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合
    • end

      int end(int group)
      このマッチ操作中に指定されたグループによって前方参照された部分シーケンスの、最終文字の後のオフセットを返します。

      前方参照を行う正規表現グループは、左から右に1からインデックス付けされます。 グループ0はパターン全体を示すため、式m.end(0)m.end()と同等です。

      パラメータ:
      group - この正規表現エンジンのパターンに指定されている前方参照を行う正規表現グループのインデックス
      戻り値:
      グループによって前方参照された最後の文字の後のオフセット。マッチは成功したがグループ自体はどの部分にもマッチしなかった場合は-1
      例外:
      IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合
      IndexOutOfBoundsException - 指定されたインデックスを持つ前方参照を行う正規表現グループがそのパターンに含まれない場合
    • end

      default int end(String name)
      前回のマッチ操作で、指定された名前付きの前方参照を行う正規表現グループによって前方参照された部分シーケンスの、最後の文字の後のオフセットを返します。
      実装要件:
      このメソッドのデフォルトの実装では、namedGroups()を呼び出してname引数からグループ番号を取得し、end(int)の呼出しに対する引数として使用します。
      パラメータ:
      name - この正規表現エンジンのパターンに指定されている名前付きの前方参照を行う正規表現グループの名前
      戻り値:
      グループによって前方参照された最後の文字の後のオフセット。マッチは成功したがグループ自体はどの部分にもマッチしなかった場合は-1
      例外:
      IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合
      IllegalArgumentException - 指定された名前を持つ前方参照を行う正規表現グループがそのパターンに含まれない場合
      導入されたバージョン:
      20
    • 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 ))は同等です。

      前方参照を行う正規表現グループは、左から右に1からインデックス付けされます。 グループ0はパターン全体を示すため、式m.group(0)m.group()と同等です。

      一致が成功したが、指定されたグループが入力順序の任意の部分に一致しなかった場合、nullが返されます。 (a*)などの一部のグループは、空の文字列と一致することに注意してください。 これらのグループが入力シーケンス内の空の文字列とマッチした場合、空の文字列が返されます。

      パラメータ:
      group - この正規表現エンジンのパターンに指定されている前方参照を行う正規表現グループのインデックス
      戻り値:
      前回の一致時にグループによって取得された(おそらく空の)部分列、またはグループが入力の一部の一致に失敗した場合はnull
      例外:
      IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合
      IndexOutOfBoundsException - 指定されたインデックスを持つ前方参照を行う正規表現グループがそのパターンに含まれない場合
    • group

      default String group(String name)
      前回のマッチ操作で指定された名前付きの前方参照を行うグループによって前方参照された入力部分シーケンスを返します。

      一致が成功したが、指定されたグループが入力順序の任意の部分に一致しなかった場合、nullが返されます。 (a*)などの一部のグループは、空の文字列と一致することに注意してください。 これらのグループが入力シーケンス内の空の文字列とマッチした場合、空の文字列が返されます。

      実装要件:
      このメソッドのデフォルトの実装では、namedGroups()を呼び出してname引数からグループ番号を取得し、group(int)の呼出しに対する引数として使用します。
      パラメータ:
      name - この正規表現エンジンのパターンに指定されている名前付きの前方参照を行う正規表現グループの名前
      戻り値:
      前回の一致時に名前付きグループによって取得された(おそらく空の)部分列、またはグループが入力の一部の一致に失敗した場合はnull
      例外:
      IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合
      IllegalArgumentException - 指定された名前を持つ前方参照を行う正規表現グループがそのパターンに含まれない場合
      導入されたバージョン:
      20
    • groupCount

      int groupCount()
      このマッチ結果のパターンに指定されている、前方参照を行う正規表現グループの数を返します。

      グループ0はパターン全体を表します。 これは、このカウントに含まれません。

      グループ・インデックスがこのメソッドから返された値以下の正の整数である場合は、この正規表現エンジンで有効です。

      戻り値:
      この正規表現エンジンのパターンに指定されている前方参照を行う正規表現グループの数
    • namedGroups

      default Map<String,Integer> namedGroups()
      キャプチャリング・グループ名からグループ番号への変更不可能なマップを返します。 名前付きグループがない場合は、空のマップを返します。
      APIのノート:
      このメソッドは、指定されたグループをサポートする実装でオーバーライドする必要があります。
      実装要件:
      このメソッドのデフォルト実装は常にUnsupportedOperationExceptionをスロー
      戻り値:
      キャプチャリング・グループ名からグループ番号への変更不可能なマップ
      例外:
      UnsupportedOperationException - 実装が指定されたグループをサポートしていない場合。
      導入されたバージョン:
      20
    • hasMatch

      default boolean hasMatch()
      thisに以前の一致または検索操作からの有効な一致が含まれているかどうかを返します。
      実装要件:
      このメソッドのデフォルト実装は常にUnsupportedOperationExceptionをスロー
      戻り値:
      thisに有効な一致が含まれているかどうか
      例外:
      UnsupportedOperationException - 一致があるかどうかを実装でレポートできない場合
      導入されたバージョン:
      20