On Sun, 21 Oct 2007 09:12:31 +0900
藤岡和夫 <kazuf@...> wrote:
> String::Approxは日本語でもテキストをUTF-8で保存して適用すれば使えると思
> われます。
乗りかかった舟だからテストしました^^;)
-----^ agreptest.pl
use String::Approx 'amatch';
while(<>){
$line++;
print $line,": ", $_ if amatch("ハンカチ王子",['5']);
}
-----$
入力テキストは、「[TSfree:2239] Re: 最も人気あるプログラミング言語」を
UTF-8に変換して使いました。
modifierとはthe amount of approximateness(近似量)の意味で、単に文字数と
いうことではないようです。%も使えるようなので検討されるとよいと思います。
modifier: ['2']の場合
---------------------
[c:\sites\tsnetwork]
perl agreptest.pl agreptest.txt
21: # usage: gawk -f agrep.awk 2 ハンカチ王子 agrep.txt
41: ハニカミ王子
43: ハナカミ王子
46: ハダカノ王子
48: トンカツ王子
modifier: ['3']の場合
---------------------
[c:\sites\tsnetwork]
perl agreptest.pl agreptest.txt
21: # usage: gawk -f agrep.awk 2 ハンカチ王子 agrep.txt
41: ハニカミ王子
43: ハナカミ王子
46: ハダカノ王子
47: ハルカゼ王子
48: トンカツ王子
modifier: ['4']の場合
---------------------
[c:\sites\tsnetwork]
perl agreptest.pl agreptest.txt
21: # usage: gawk -f agrep.awk 2 ハンカチ王子 agrep.txt
41: ハニカミ王子
42: ハゲカケ王子
43: ハナカミ王子
44: ハミガキ王子
45: ハイカイ王子
46: ハダカノ王子
47: ハルカゼ王子
48: トンカツ王子
modifier: ['5']の場合
---------------------
[c:\sites\tsnetwork]
perl agreptest.pl agreptest.txt
21: # usage: gawk -f agrep.awk 2 ハンカチ王子 agrep.txt
41: ハニカミ王子
42: ハゲカケ王子
43: ハナカミ王子
44: ハミガキ王子
45: ハイカイ王子
46: ハダカノ王子
47: ハルカゼ王子
48: トンカツ王子
53: とをすれば可能でしょうね。まず/..カチ王子/,/.ン.チ王子/,...みたいなパター
UTF-8のコンソールがないと大変かもしれませんね。結局、Aprotool TM Editor
のコンソールを使わせていただきました^^)v
藤岡 和夫
kazuf@...
日曜プログラマのひとりごと http://homepage1.nifty.com/kazuf/renewal.html