トップQs
タイムライン
チャット
視点

パターンマッチング

ウィキペディアから

Remove ads

パターンマッチング: Pattern matching、パターン照合)とは、データを検索する場合に特定のパターンが出現するかどうか、またどこに出現するかを特定する手法のことである。

文字列のパターンマッチングには、固定されたパターンの検索ではKMP法BM法など各種の文字列探索アルゴリズムがある。また正規表現を利用する手法も多数提案されている。

いくつかの高水準プログラミング言語には、多分岐の一種で、場合分けと同時に構成要素の取り出しのできる言語機能があり、パターンマッチと呼ばれている。Haskellでの例を示す。

listSumCase lst =
  case lst of
    []       -> 0
    (x : xs) -> x + listSumCase xs

listSumPtn []       = 0
listSumPtn (x : xs) = x + listSumPtn xs

なお、この例の listSumCase は expression style、listSumPtn は declaration style である[1]

Remove ads

歴史

パターンマッチング構造を備えた初期のプログラミング言語には、COMIT (1957)、SNOBOL (1962)、Refal (1968)、ツリーベースのパターンマッチング、Prolog (1972)、 SASL (1976)、NPL (1977)、およびKRC (1981)がある。

多くのテキストエディタはさまざまな種類のパターンマッチングをサポートしている。QEDエディタ正規表現検索をサポートし、一部のバージョンのTECOでは、検索でOR演算子をサポートしている。

数式処理システムは通常、代数式のパターンマッチングをサポートしている。[2]

参考文献

関連項目

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads