Location : Home > Languages > Perl > Package Title : Algorithm::Interval2Prefix |
![]() |
Algorithm::Interval2Prefix - 区間からプレフィクスを抽出
use Algorithm::Interval2Prefix; my @prefixes = interval2prefix('33400','33599'); print join(',', @prefixes); # prints "334,335" my $regex = interval2regex('33400','33599'); if ($n =~ /$regex/) { ... }
本モジュールは区間を入力としてとり、区間内のすべての数値が正確にいずれかのプレフィクスに該当し、どの数値にも該当しないプレフィクスも存在しないようなプレフィクスの最小集合を構成する。
たとえば、 39967000 から 39980999 の区間のあらゆる数値は以下のプレフィクスのいずれかに該当する。
39967 39968 39969 3997 39980
この変換のタイプは、特に電話切り替えシステムに用いると効果を発揮し、番号の頭桁で切り替える場合などに用いられる。
Note that 意味のある結果を得るためには、区間内の数値は結果と同じ長さでなければならないことに留意すること。
アルゴリズムは数値の基に依存しており、デフォルトの基は10である。他の基を用いるには明示的に指定することができる。区間内の数値にのみマッチングを行う正規表現文字列を生成する関数も提供されている。
interval2prefix LO,HI,BASE
interval2prefix LO,HI
プレフィクスの配列を取得する。LO と HI で区間を指定し、BASE で用いる基を指定する。BASE は省略可能で、デフォルトは10である。
interval2regex LO,HI
区間内の数値でマッチする正規表現文字列を取得する。基は10であることが想定されている。
interval2prefix() 及び interval2regex() はデフォルトでエクスポートされる。
もし問題があれば http://rt.cpan.org/NoAuth/Bugs.html?Dist=Algorithm-Interval2Prefix に報告するか、 bug-Algorithm-Interval2Prefix@rt.cpan.org にメールを送ってほしい。
Lars Thegler, <lars@thegler.dk>
Copyright (c) 2003 Lars Thegler. All rights reserved.
本プログラムはフリーソフトウェアであり、Perl 本体と同等の条件で修正/再配布してもよい。
![]() |
Updated : 2006/07/09 |