JavaTM Platform
Standard Ed. 6

java.util.regex
クラス Matcher

java.lang.Object
  上位を拡張 java.util.regex.Matcher
すべての実装されたインタフェース:
MatchResult

public final class Matcher
extends Object
implements MatchResult

Pattern を解釈することによってjava.lang.CharSequence文字シーケンスのマッチ操作を行うエンジンです。

正規表現エンジンは、パターンの matcher メソッドを呼び出すことによって作成されます。一度作成すると、次の 3 種類のマッチ操作に使用できます。

これらのメソッドは、マッチが成功したかどうかを示す boolean 値を返します。マッチが成功したときは、正規表現エンジンの状態を照会すれば詳細を取得できます。

正規検索エンジンは「領域」と呼ばれる入力のサブセットでマッチを検索します。デフォルトでは、領域には正規検索エンジンの入力すべてが含まれます。領域の変更には region メソッドを、領域の照会には regionStart および regionEnd メソッドを使用できます。領域の境界による一定のパターン作成の方法は変更できます。詳細については、useAnchoringBounds および useTransparentBounds を参照してください。

このクラスには、マッチした部分シーケンスを新しい文字列に置換するメソッドも定義します。 新しい文字列の内容は、必要に応じてマッチ結果から算出できます。appendReplacement および appendTail メソッドを同時に使用すれば、マッチ結果を収集して既存の文字列バッファーに格納できます。 また、replaceAll メソッドを使用すれば、入力シーケンス内でマッチした部分シーケンスがすべて置換された文字列を作成できます。

正規表現エンジンの明示的な状態として、最後に成功したマッチの開始インデックスと終了インデックスがあります。また、パターンの各前方参照を行う正規表現グループによって前方参照された入力部分シーケンスの開始インデックスと終了インデックスや、前方参照された部分シーケンスの総数も利用されます。前方参照された部分シーケンスを文字列形式で返すメソッドも用意されています。

正規表現エンジンの明示的な状態の初期値は定義されていません。 マッチが成功する前にその一部を照会しようとすると、IllegalStateException がスローされます。正規表現エンジンの明示的な状態は、マッチ操作のたびに計算し直されます。

正規表現エンジンの暗黙的な状態には、入力文字シーケンスや「追加位置」があります。 追加位置の初期値はゼロで、appendReplacement メソッドによって更新されます。

正規表現エンジンをリセットするには、正規表現エンジンの reset() メソッドまたは reset(CharSequence) メソッド (新しい入力シーケンスが必要な場合) を呼び出します。正規表現エンジンをリセットすると、その明示的な状態に関する情報が破棄され、追加位置がゼロに設定されます。

このクラスのインスタンスは、複数のスレッドで並行して使用することはできません。

導入されたバージョン:
1.4

メソッドの概要
 Matcher appendReplacement(StringBuffer sb, String replacement)
          継続追加置換手順を実装します。
 StringBuffer appendTail(StringBuffer sb)
          終了追加置換手順を実装します。
 int end()
          最後にマッチした文字の後のオフセットを返します。
 int end(int group)
          前回のマッチ操作で指定されたグループによって前方参照された部分シーケンスの、最終文字の後のオフセットを返します。
 boolean find()
          入力シーケンスからこのパターンとマッチする次の部分シーケンスを検索します。
 boolean find(int start)
          この正規表現エンジンをリセットし、指定されたインデックス以降の入力シーケンスから、このパターンとマッチする次の部分シーケンスを検索します。
 String group()
          前回のマッチで一致した入力部分シーケンスを返します。
 String group(int group)
          前回のマッチ操作で指定されたグループによって前方参照された入力部分シーケンスを返します。
 int groupCount()
          この正規表現エンジンのパターンに指定されている前方参照を行う正規表現グループの数を返します。
 boolean hasAnchoringBounds()
          この正規表現エンジンの領域境界のアンカー設定を問い合わせるクエリーを出します。
 boolean hasTransparentBounds()
          この正規表現エンジンの領域境界の透明度を問い合わせるクエリーを出します。
 boolean hitEnd()
          この正規検索エンジンが実行した最後のマッチ操作で、入力の末尾が検索エンジンによりヒットした場合に、true を返します。
 boolean lookingAt()
          入力シーケンスとパターンとのマッチを、領域の先頭から始めます。
 boolean matches()
          領域全体をこのパターンとマッチします。
 Pattern pattern()
          この正規表現エンジンによって解釈されるパターンを返します。
static String quoteReplacement(String s)
          指定された String のリテラル置換 String を返します。
 Matcher region(int start, int end)
          正規検索エンジンの領域に制限を設定します。
 int regionEnd()
          この正規検索エンジンの領域の終了インデックス (その値を含まない) をレポートします。
 int regionStart()
          この正規検索エンジンの領域の開始インデックスをレポートします。
 String replaceAll(String replacement)
          パターンとマッチする入力シーケンスの部分シーケンスを、指定された置換文字列に置き換えます。
 String replaceFirst(String replacement)
          パターンとマッチする入力シーケンスの部分シーケンスのうち、最初の部分シーケンスを指定された置換文字列に置き換えます。
 boolean requireEnd()
          より多くの入力で正のマッチが負のマッチに変更される可能性がある場合に、true を返します。
 Matcher reset()
          この正規表現エンジンをリセットします。
 Matcher reset(CharSequence input)
          新しい入力シーケンスを使用してこの正規表現エンジンをリセットします。
 int start()
          前回のマッチの開始インデックスを返します。
 int start(int group)
          前回のマッチ操作で指定されたグループによって前方参照された部分シーケンスの、開始インデックスを返します。
 MatchResult toMatchResult()
          この正規表現エンジンのマッチ状態を MatchResult として返します。
 String toString()
          この正規表現エンジンの文字列表現を返します。
 Matcher useAnchoringBounds(boolean b)
          この正規表現エンジンの領域境界のアンカーを設定します。
 Matcher usePattern(Pattern newPattern)
          この Matcher がマッチ検索に使用する Pattern を変更します。
 Matcher useTransparentBounds(boolean b)
          この正規表現エンジンの領域境界の透明度を設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

メソッドの詳細

pattern

public Pattern pattern()
この正規表現エンジンによって解釈されるパターンを返します。

戻り値:
この正規表現エンジンの作成対象となったパターン

toMatchResult

public MatchResult toMatchResult()
この正規表現エンジンのマッチ状態を MatchResult として返します。結果は、この正規検索エンジンに対する後続の操作の影響を受けません。

戻り値:
この正規検索エンジンの状態を保持する MatchResult
導入されたバージョン:
1.5

usePattern

public Matcher usePattern(Pattern newPattern)
この Matcher がマッチ検索に使用する Pattern を変更します。

このメソッドを使用すると、最後に発生したマッチのグループに関する情報がこの正規表現エンジンから失われます。入力内の正規表現エンジンの位置は維持され、最後の追加位置は影響を受けません。

パラメータ:
newPattern - この正規表現エンジンが使用する新規パターン
戻り値:
この正規表現エンジン
例外:
IllegalArgumentException - newPattern が null の場合
導入されたバージョン:
1.5

reset

public Matcher reset()
この正規表現エンジンをリセットします。

正規検索エンジンをリセットすると、明示的な状態情報すべてが破棄され、追加位置がゼロに設定されます。正規検索エンジンの領域は、デフォルトである文字シーケンス全体に設定されます。この正規表現エンジンの領域境界のアンカーおよび透明度は影響を受けません。

戻り値:
この正規表現エンジン

reset

public Matcher reset(CharSequence input)
新しい入力シーケンスを使用してこの正規表現エンジンをリセットします。

正規検索エンジンをリセットすると、明示的な状態情報すべてが破棄され、追加位置がゼロに設定されます。正規検索エンジンの領域は、デフォルトである文字シーケンス全体に設定されます。この正規表現エンジンの領域境界のアンカーおよび透明度は影響を受けません。

パラメータ:
input - 新しい入力文字シーケンス
戻り値:
この正規表現エンジン

start

public int start()
前回のマッチの開始インデックスを返します。

定義:
インタフェース MatchResult 内の start
戻り値:
マッチした最初の文字のインデックス
例外:
IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合

start

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

前方参照を行う正規表現グループには、左から右方向に 1 からインデックスが付きます。グループ 0 はパターン全体を表します。 つまり、m.start(0)m.start() は同じ表現です。

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

end

public int end()
最後にマッチした文字の後のオフセットを返します。

定義:
インタフェース MatchResult 内の end
戻り値:
最後にマッチした文字の後のオフセット
例外:
IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合

end

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

前方参照を行う正規表現グループには、左から右方向に 1 からインデックスが付きます。グループ 0 はパターン全体を表します。 つまり、m.end(0)m.end() は同じ表現です。

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

group

public String group()
前回のマッチで一致した入力部分シーケンスを返します。

正規表現エンジン m に入力シーケンス s が指定されている場合、m.group()s.substring(m.start(), m.end()) は同じ表現になります。

パターン (a* など) によっては、空の文字列とマッチすることがあります。これらのパターンが入力シーケンス内の空の文字列とマッチした場合、空の文字列が返されます。

定義:
インタフェース MatchResult 内の group
戻り値:
前回のマッチで一致した部分シーケンス (空の場合もある)。文字列形式
例外:
IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合

group

public 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*) など) によっては、空の文字列とマッチすることがあります。これらのグループが入力シーケンス内の空の文字列とマッチした場合、空の文字列が返されます。

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

groupCount

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

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

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

定義:
インタフェース MatchResult 内の groupCount
戻り値:
この正規表現エンジンのパターンに指定されている前方参照を行う正規表現グループの数

matches

public boolean matches()
領域全体をこのパターンとマッチします。

マッチが成功した場合は、startend、および group メソッドを使用して詳細情報を取得できます。

戻り値:
領域シーケンスの全体がこの正規表現エンジンのパターンとマッチした場合にのみ true

find

public boolean find()
入力シーケンスからこのパターンとマッチする次の部分シーケンスを検索します。

このメソッドは、正規検索エンジンの領域の先頭から開始されます。 ただし、前回の呼び出しが正常に終了してから正規表現エンジンがリセットされていない場合は、前回のマッチで一致しなかった最初の文字から開始されます。

マッチが成功した場合は、startend、および group メソッドを使用して詳細情報を取得できます。

戻り値:
入力シーケンスの部分シーケンスがこの正規表現エンジンのパターンとマッチした場合にのみ true

find

public boolean find(int start)
この正規表現エンジンをリセットし、指定されたインデックス以降の入力シーケンスから、このパターンとマッチする次の部分シーケンスを検索します。

マッチが成功した場合は、startend、および group メソッドを使用して詳細情報を取得できます。 後続の find() メソッド呼び出しでは、このマッチで一致しなかった最初の文字から開始されます。

戻り値:
入力シーケンスの指定されたインデックス以降の部分シーケンスが、この正規表現エンジンのパターンとマッチした場合にのみ true
例外:
IndexOutOfBoundsException - start がゼロより小さい場合、または start が入力シーケンスの長さより大きい場合

lookingAt

public boolean lookingAt()
入力シーケンスとパターンとのマッチを、領域の先頭から始めます。

matches メソッドと同様に、領域の先頭から開始されます。 ただし、領域全体がマッチする必要はありません。

マッチが成功した場合は、startend、および group メソッドを使用して詳細情報を取得できます。

戻り値:
入力シーケンスの接頭辞がこの正規表現エンジンのパターンとマッチした場合にのみ true

quoteReplacement

public static String quoteReplacement(String s)
指定された String のリテラル置換 String を返します。 このメソッドは、Matcher クラスの appendReplacement メソッド内のリテラル置換 s として機能する String を生成します。生成される String は、リテラルシーケンスとして処理される s 内の文字シーケンスにマッチします。スラッシュ ('\') およびドル記号 ('$') には特別な意味はありません。

パラメータ:
s - リテラル化する文字列
戻り値:
リテラル文字列置換
導入されたバージョン:
1.5

appendReplacement

public Matcher appendReplacement(StringBuffer sb,
                                 String replacement)
継続追加置換手順を実装します。

このメソッドは、次の処理を実行します。

  1. 追加位置以降の入力シーケンスから文字列を読み込み、指定された文字列バッファーに追加する。前回マッチした文字の直前の文字、つまりインデックス start() - 1 の文字を読み込んだときに終了する

  2. 指定された置換文字列を文字列バッファーに追加する

  3. この正規表現エンジンの追加位置を、最後にマッチした文字のインデックスに 1 を加えた値、つまり end() に設定する

置換文字列には、前回のマッチ時に前方参照された部分シーケンスへの参照が含まれる場合があります。$g が検出されると、group(g) を評価した結果にすべて置換されます。$ の後の最初の数値は、常にグループ参照の一部として処理されます。後続の数値が正当なグループ参照を構成する場合、これらは g に組み込まれます。数 0 〜 9 だけが、グループ参照の潜在的なコンポーネントと見なされます。たとえば、2 番目のグループが文字列 "foo" にマッチすると、置換文字列 "$2bar" の引き渡しが行われて、"foobar" が文字列バッファーに追加されます。前にバックスラッシュ (\$) を付けることで、ドル記号 ($) をリテラルとして置換文字列に含めることができます。

置換文字列内でバックスラッシュ (\) とドル記号 ($) を使用すると、それをリテラル置換文字列として処理した場合とは結果が異なる場合があります。ドル記号は、先に説明したとおり、前方参照された部分シーケンスへの参照として処理される場合があり、バックスラッシュは置換文字列内のリテラル文字をエスケープするのに使用されます。

このメソッドは、ループ内で appendTail メソッドおよび find メソッドと組み合わせて使用します。たとえば、次のコードでは、one dog two dogs in the yard を標準出力ストリームに書き出します。

 Pattern p = Pattern.compile("cat");
 Matcher m = p.matcher("one cat two cats in the yard");
 StringBuffer sb = new StringBuffer();
 while (m.find()) {
     m.appendReplacement(sb, "dog");
 }
 m.appendTail(sb);
 System.out.println(sb.toString());

パラメータ:
sb - ターゲット文字列バッファー
replacement - 置換文字列
戻り値:
この正規表現エンジン
例外:
IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合
IndexOutOfBoundsException - 置換文字列が参照している前方参照を行う正規表現グループが、パターン内に存在しない場合

appendTail

public StringBuffer appendTail(StringBuffer sb)
終了追加置換手順を実装します。

このメソッドは、追加位置以降の入力シーケンスから文字列を読み込み、指定された文字列バッファーに追加します。入力シーケンスの残りの部分をコピーするために、appendReplacement メソッドを 1 回以上呼び出してからこのメソッドを呼び出します。

パラメータ:
sb - ターゲット文字列バッファー
戻り値:
ターゲット文字列バッファー

replaceAll

public String replaceAll(String replacement)
パターンとマッチする入力シーケンスの部分シーケンスを、指定された置換文字列に置き換えます。

このメソッドはまず、この正規表現エンジンをリセットします。次に、入力シーケンスを走査して、パターンとマッチする文字列を検索します。パターンとマッチしない文字列は、結果文字列に直接追加されます。 パターンとマッチした文字列は、置換文字列に置換されて結果に追加されます。appendReplacement メソッドと同様に、前方参照された部分シーケンスへの参照が置換文字列に含まれる場合があります。

置換文字列内でバックスラッシュ (\) とドル記号 ($) を使用すると、それをリテラル置換文字列として処理した場合とは結果が異なる場合があります。ドル記号は、先に説明したとおり、前方参照された部分シーケンスへの参照として処理される場合があり、バックスラッシュは置換文字列内のリテラル文字をエスケープするのに使用されます。

正規表現 a*b、入力 "aabfooaabfooabfoob"、および置換文字列 "-" を指定した場合、その表現の正規表現エンジン上でこのメソッドを呼び出すと、文字列 "-foo-foo-foo-" が生成されます。

このメソッドを呼び出すと、この正規表現エンジンの状態が変わります。この正規表現エンジンを後続のマッチ操作で使用する場合は、最初に正規表現エンジンをリセットする必要があります。

パラメータ:
replacement - 置換文字列
戻り値:
マッチしたすべての部分シーケンスを置換文字列で置き換え、前方参照された部分シーケンスを必要に応じて置換することによって構築された文字列

replaceFirst

public String replaceFirst(String replacement)
パターンとマッチする入力シーケンスの部分シーケンスのうち、最初の部分シーケンスを指定された置換文字列に置き換えます。

このメソッドはまず、この正規表現エンジンをリセットします。次に、入力シーケンスを走査して、パターンとマッチする最初の文字列を検索します。パターンとマッチしない文字列は、結果文字列に直接追加されます。 パターンとマッチした文字列は、置換文字列に置換されて結果に追加されます。appendReplacement メソッドと同様に、前方参照された部分シーケンスへの参照が置換文字列に含まれる場合があります。

置換文字列内でバックスラッシュ (\) とドル記号 ($) を使用すると、それをリテラル置換文字列として処理した場合とは結果が異なる場合があります。ドル記号は、先に説明したとおり、前方参照された部分シーケンスへの参照として処理される場合があり、バックスラッシュは置換文字列内のリテラル文字をエスケープするのに使用されます。

正規表現 dog、入力 "zzzdogzzzdogzzz"、および置換文字列 "cat" を指定した場合、その表現の正規表現エンジン上でこのメソッドを呼び出すと、文字列 "zzzcatzzzdogzzz" が生成されます。

このメソッドを呼び出すと、この正規表現エンジンの状態が変わります。この正規表現エンジンを後続のマッチ操作で使用する場合は、最初に正規表現エンジンをリセットする必要があります。

パラメータ:
replacement - 置換文字列
戻り値:
最初にマッチした部分シーケンスを置換文字列で置き換え、前方参照された部分シーケンスを必要に応じて置換することによって構築された文字列

region

public Matcher region(int start,
                      int end)
正規検索エンジンの領域に制限を設定します。領域は、マッチの検索対象となる入力シーケンスの一部です。このメソッドを呼び出すと、正規検索エンジンがリセットされ、領域の先頭が start パラメータにより指定されたインデックスに、領域の末尾が end パラメータにより指定されたインデックスにそれぞれ設定されます。

使用される透明度とアンカー設定によっては (useTransparentBounds および useAnchoringBounds を参照)、アンカーなどの特定の作成上の振る舞いが領域の境界またはその付近で異なる場合があります。

パラメータ:
start - 検索を開始する位置のインデックス (その値も含む)
end - 検索を終了する位置のインデックス (その値を含まない)
戻り値:
この正規表現エンジン
例外:
IndexOutOfBoundsException - start または end がゼロより小さい場合、start が入力シーケンスの長さより大きい場合、end が入力シーケンスの長さより大きい場合、または start が end より大きい場合
導入されたバージョン:
1.5

regionStart

public int regionStart()
この正規検索エンジンの領域の開始インデックスをレポートします。この正規検索エンジンが行う検索は、regionStart (その値も含む) と regionEnd (その値を含まない) の内部でのマッチ検索に制限されます。

戻り値:
この正規検索エンジンの領域の始点
導入されたバージョン:
1.5

regionEnd

public int regionEnd()
この正規検索エンジンの領域の終了インデックス (その値を含まない) をレポートします。この正規検索エンジンが行う検索は、regionStart (その値も含む) と regionEnd (その値を含まない) の内部でのマッチ検索に制限されます。

戻り値:
この正規表現エンジンの領域の終点
導入されたバージョン:
1.5

hasTransparentBounds

public boolean hasTransparentBounds()
この正規表現エンジンの領域境界の透明度を問い合わせるクエリーを出します。

このメソッドは、transparent 境界がこの正規表現エンジンで使用される場合は true を返し、opaque 境界が使用される場合には false を返します。

透明または不透明の境界の詳細については、useTransparentBounds を参照してください。

デフォルトでは、正規表現エンジンは不透明の領域境界を使用します。

戻り値:
この正規表現エンジンが透明な境界を使用する場合は true、そうでない場合は false
導入されたバージョン:
1.5
関連項目:
useTransparentBounds(boolean)

useTransparentBounds

public Matcher useTransparentBounds(boolean b)
この正規表現エンジンの領域境界の透明度を設定します。

このメソッドに true の引数を指定して呼び出すと、transparent 境界がこの正規表現エンジンで使用されます。boolean 引数が false の場合は、opaque 境界が使用されます。

透明な境界を使用する場合、この正規表現エンジンの領域は、前方、後方、および境界のマッチング作成で透明になります。これらの作成は、マッチが適切かどうかを領域の境界を超えて見ることができます。

不透明な境界を使用すると、この正規表現エンジンの境界は、前方、後方、および境界を超えて検索を試みるマッチング作成で不透明となります。これらの作成では境界を以前にさかのぼって検索できないため、領域外ではいかなるマッチングも失敗します。

デフォルトでは、正規表現エンジンは不透明の境界を使用します。

パラメータ:
b - 不透明または透明の領域のどちらを使用するかを示す boolean
戻り値:
この正規表現エンジン
導入されたバージョン:
1.5
関連項目:
hasTransparentBounds()

hasAnchoringBounds

public boolean hasAnchoringBounds()
この正規表現エンジンの領域境界のアンカー設定を問い合わせるクエリーを出します。

このメソッドは、anchoring 境界がこの正規表現エンジンで使用される場合は true を返し、そうでない場合は false を返します。

アンカー設定境界の詳細については、 useTransparentBounds を参照してください。

デフォルトでは、正規表現エンジンはアンカー設定領域境界を使用します。

戻り値:
この正規表現エンジンがアンカー設定境界を使用する場合は true、そうでない場合は false
導入されたバージョン:
1.5
関連項目:
useAnchoringBounds(boolean)

useAnchoringBounds

public Matcher useAnchoringBounds(boolean b)
この正規表現エンジンの領域境界のアンカーを設定します。

このメソッドに true の引数を指定して呼び出すと、anchoring 境界がこの正規表現エンジンで使用されます。boolean 引数が false の場合は、non-anchoring 境界が使用されます。

アンカー設定境界が使用されると、この正規表現エンジンの領域の境界は、 ^ および $ などのアンカーにマッチします。

アンカー設定境界が使用されない場合は、この正規表現エンジンの領域の境界は、 ^ および $ などのアンカーにマッチしません。

デフォルトでは、正規表現エンジンはアンカー設定領域境界を使用します。

パラメータ:
b - アンカー設定境界を使用するかどうかを示す boolean
戻り値:
この正規表現エンジン
導入されたバージョン:
1.5
関連項目:
hasAnchoringBounds()

toString

public String toString()

この正規表現エンジンの文字列表現を返します。Matcher の文字列表現には、デバッグに有用な情報が含まれます。厳密な書式は指定されません。

オーバーライド:
クラス Object 内の toString
戻り値:
この正規検索エンジンの文字列表現
導入されたバージョン:
1.5

hitEnd

public boolean hitEnd()

この正規検索エンジンが実行した最後のマッチ操作で、入力の末尾が検索エンジンによりヒットした場合に、true を返します。

このメソッドが true を返す場合、入力がさらに多ければ、最後の検索の結果が変更された可能性があります。

戻り値:
入力の末尾が最後のマッチでヒットした場合は true、そうでない場合は false
導入されたバージョン:
1.5

requireEnd

public boolean requireEnd()

より多くの入力で正のマッチが負のマッチに変更される可能性がある場合に、true を返します。

このメソッドが true を返し、かつマッチが検出された場合、より多くの入力があればマッチが失われた可能性があります。このメソッドが false を返し、かつマッチが検出された場合、より多くの入力があればマッチは変更されるが、失われることはなかった可能性があります。マッチが検出されなかった場合、requireEnd に意味はありません。

戻り値:
より多くの入力で正のマッチが負のマッチに変更される可能性がある場合は true
導入されたバージョン:
1.5

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。