RegExResult
説明
Regex.Matchの結果を処理するクラスです。
RegExResultクラスは、string.match()メソッドから返されます。RegExResultを使用すると、文字列中の一致をすべて反復処理することができます。通常、この処理は次の例に示すような形で行われます。
string toMatch = "Processor1 Processor200"; Array matches; var result = toMatch.match(/([a-zA-Z]+)(\d+)/g); while ((matches = result.findNextMatch()).length) { pt(matches.join(", ")); pr(); } // Text printed to Output Console: // Processor1, Processor, 1 // Processor200, Processor, 200
文字列に対する実際の検索は、メソッドまたはプロパティが呼び出された時点で初めて行われます。その後、要求された情報を提供できなくなった時点で、文字列の検索は終了します。検出された一致文字列はキャッシュされ、その一致文字列を必要とする将来の呼び出しで検索できるようになります。
正規表現をグローバルとしてマーク(「g」フラグを使用)していない限り、このオブジェクトの検索は、最初の一致文字列が検出された時点で終了します。どのメソッドやプロパティも、最初に一致した文字列より後の文字列を検索することはありません。
RegExResultオブジェクトを作成する
RegExResultオブジェクトは、string.match()を呼び出すことでのみ取得できます。また、このタイプの変数は、型推論メカニズム(var)を使用することでのみ宣言可能です。var result = someString.match(/a pattern/g); // correct
// RegExResult result = someString.match(/a pattern/g); INCORRECT
// RegExResult result; INCORRECT
プロパティ
length | 文字列内の正規表現に対する一致数をカウントします。 |
メソッド
findNextMatch | 文字列内の次の一致を検索します。 |
getMatch | 文字列からn番目の一致(一致およびサブグループの配列)を取得します。 |
getMatchIndex | n番目の一致の元の文字列における位置を取得します。 |
演算子
[] | n番目の一致に完全一致する文字列を取得します。 |
詳細
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
RegExResult.length
readonly int length
説明
文字列内の正規表現に対する一致数をカウントします。
文字列内の一致数をカウント(必要であれば検索)します。文字列全体ですべての一致を見つけます。結果を取得するにはgetMatch()を使用します。グローバルフラグがない場合、この値が1を超えることはありません。削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
RegExResult.findNextMatch()
Array findNextMatch( ) |
戻り値
Array | 最後に検出した一致を格納した配列。 |
説明
文字列内の次の一致を検索します。
一致が発見されない場合や。すべての一致が発見されて文字列を調べ終えた場合(例:RegExResult.lengthを呼び出して)、このメソッドは空のArrayを返します。それ以外の場合、stringのArrayを返します。Arrayの最初の値は完全一致となります。以降の値(もしあれば)は、正規表現でマークされたキャプチャーグループに対応した値になります。グローバルフラグがない場合、このメソッドは文字列を一度しか検索しません。削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
RegExResult.getMatch()
Array getMatch( int i ) |
パラメータ
i | 取得する一致番号(1が最初の一致) |
戻り値
Array | 完全一致および部分一致を格納した配列。 |
説明
文字列からn番目の一致(一致およびサブグループの配列)を取得します。
指定した値が一致数よりも大きい場合、このメソッドは失敗します。必要に応じて、このメソッドは文字列を検索します。一致パターンがグローバルではない場合、1より大きな値は常に失敗となります(一致が発見されない場合、1でも失敗することがあります)。削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
RegExResult.getMatchIndex()
Array getMatchIndex( int i ) |
パラメータ
i | 位置を取得したい一致番号(1が最初の一致)。 |
戻り値
Array | 元の文字列内におけるn番目の一致の位置 |
説明
n番目の一致の元の文字列における位置を取得します。
指定した値が一致数よりも大きい場合、このメソッドは失敗します。必要に応じて、このメソッドは文字列を検索します。一致パターンがグローバルではない場合、1より大きな値は常に失敗となります(一致が発見されない場合、1でも失敗することがあります)。削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
RegExResult.operator []
string operator []( int i ) |
パラメータ
i | 完全一致文字列を取得したい一致番号。 |
戻り値
string | n番目の一致のフルテキストを格納する文字列 |
説明
n番目の一致に完全一致する文字列を取得します。
これは、getMatch(i)[1]を呼び出した場合と同じです。指定した値が一致数よりも大きい場合、このメソッドは失敗します。必要に応じて、このメソッドは文字列を検索します。一致パターンがグローバルではない場合、1より大きな値は常に失敗となります(一致が発見されない場合、1でも失敗することがあります)。