日本大百科全書(ニッポニカ) 「パターンマッチング」の意味・わかりやすい解説
パターンマッチング
ぱたーんまっちんぐ
pattern matching
記号処理において使われる用語で、データや文字列を検索する際に特定のパターンを検出する手法のこと。プログラミング言語では構造をもったデータどうしのマッチングにも使われる。
文字列のパターンを記述するための正規表現が決められている。以下に一部を示しておく。
. (ピリオド)任意の1文字
*(アスタリスク)直前の文字の任意個の繰り返し(.*と書くと任意の長さの文字列にマッチする)
[xyz] [ ]内のどれかの文字(この例ではxかyかz)
[a-z] 文字範囲の指定(この例では任意のアルファベットの小文字)
たとえば
[a-c].*x
はa,b,cのどれかで始まり、xで終わる文字列(abx, b123x, cdxなど)とマッチする。
Prolog(プロログ)は文字列ではないが、項とよばれる構造のパターンマッチングで呼び出される言語である。大文字で変数を表し、小文字が定数なので
p(X,z,X)
という項は
p(a,z,a),p(b,Y,b), p(q(a),z,q(a))
などとマッチする。
[中島秀之 2019年9月17日]