agrep

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

agrep (approximate grep)[訳注 1]は文字列のあいまい検索英語版を行うプログラムである。計算機学者のUdi ManberSun Wuにより開発された。無償で配布されているが、商業的な再配布などに制限があり、オープンソースの定義などには合致しない。最初の実装はUnix向けに開発され、後にOS/2DOSWindowsに移植された。

agrepは与えられたクエリに対して組み込まれた高速な文字列探索アルゴリズムから最適なアルゴリズムを選択する。アルゴリズムの選択肢は例えばレーベンシュタイン距離に基づいたBitapアルゴリズムなどが挙げられる。

agrepはGLIMPSEというインデクサの検索エンジンにも用いられている。agrepの権利はアリゾナ大学に帰属するが、個人使用かつ非商用での利用に限りフリーで利用できる。

類似な実装[編集]

多くのagrepは正規表現ライブラリであるTRE英語版を利用したコマンドラインツールとして提供されている。 パターン内部の独立したグループに重みと総コストを割り当てることができるため、TRE agrepはWu-Manber agrepよりも強力である。また、Unicodeにも対応している[1]。 Wu-Manber agrepとは違いTRE agrepは二条項BSDライセンスのもとで利用できる。

オープンソースコマンドラインインターフェイスライブラリであるFREJ (Fuzzy Regular Expressions for Java)はagrepと同様に利用することができる。これはagrepやTREとは違って、マッチ後の文字列に複雑な構造の置換を適用することができる[2]。しかしながらその文法と探索能力は普通の正規表現とは明確に違う。

脚注[編集]

訳注[編集]

  1. ^ approximate = 近似; ex. approximate value = 近似値

外部リンク[編集]