Next: , Previous: Simple Match Data, Up: Match Data


33.6.3 マッチデータ全体を参照する

関数match-dataset-match-dataは、 マッチデータ全体を一度に読んだり書いたりします。

— Function: match-data

この関数は、最後の探索で一致したテキストに関するすべての情報を収めた 新たに構築したリストを返す。 要素0が式全体に一致した部分の先頭位置であり、 要素1が式全体に一致した部分の終了位置である。 つぎの2つの要素は最初の部分式に一致した部分の先頭/終了位置、 といった具合である。 一般に、要素 (match-beginning n)に対応し、 要素 (match-end n)に対応する。

バッファで行った一致ではすべての要素はマーカかnilであり、 string-matchにより文字列で行った一致では すべての要素は整数かnilである。

探索関数の呼び出しとその探索結果としてのマッチデータを参照するための match-dataの呼び出しのあいだには、 別の探索があってはならない。

          (match-data)
               ⇒  (#<marker at 9 in foo>
                    #<marker at 17 in foo>
                    #<marker at 13 in foo>
                    #<marker at 17 in foo>)
— Function: set-match-data match-list

この関数は、match-listの要素からマッチデータを設定する。 match-listは、以前にmatch-dataの呼び出しで得たリストであること。

match-listが存在しないバッファを指していても、エラーにはならない。 無意味な情報をマッチデータに設定するが、害にはならない。

store-match-dataはほぼ廃れているset-match-dataの別名である。