今月号の「日経ソフトウエア」はスクリプト言語の特集だった。
その中で、面白い記事を発見。
Perl用の「正規表現を生成できる」モジュールがあるという。
その名も「Regexp::Assemble」という。
複数の文字列を渡してやると、それらすべてにマッチする正規表現を作ってくれるという。
ちなみに、記事中の例としては、
日経ソフトウエア
日経WinPC
日経ソリューションビジネス
日経Windowsプロ
という文字列群に対する正規表現は
日経(?:ソ(?:リューションビジネス|フトウエア)|Win(?:dowsプロ|PC)))
というものだった。見事だ・・・。
phpでできないかと、ググッて見たけど見当たらない。
一応、Perl で構築してみて「試す」シリーズとして公開してみるかな。
まずは、モジュールをインストール。
このHPを参考に Regexp-Assemble を組み込んでみた。
CPANを使える状態にする。
# perl -MCPAN -e shell
いろいろと質問が出てくるけど、すべてリターンで問題無かった。
最後のほうで、地域国の指定で、Asia、Japanを選択。
インストールは、CPANのプロンプトで
cpan> install [モジュール名]
今回は、モジュール名に「Regexp::Assemble」を指定。
問題が無ければこれで、インストールが完了する。
記事に載っていたサンプルが正常に動作した。
正規表現生成とマッチ確認ができるページでも作ってみるか。
あと、こんなものも発見。正規表現生成スクリプト