namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: simple method to implement regexp search



akira yamada / やまだあきら <akira@xxxxxxxxxxx> wrote:

>とりあえず以下のことは Ruby でできました. 
>
>  echo 'あああああ' | ruby -pe '$_.sub!(/あ+/o, "ア")'
>  ア
>  % echo 'あいうえお' | ruby -pe '$_.sub!(/い.え/o, "ア")'
>  あアお
>  % echo 'あいうえお' | ruby -pe '$_.sub!(/[い-え]+/o, "ア")'
>  あアお

素晴らしいです。さっそく ruby 1.1b9(98/02/27) を貰ってきました。基
本的に regex.[ch] だけでよいみたいですが、この中で使われている関数
に他のファイルで定義されているものがあったので適当に補って実験して
みました。

で、パターンマッチのテストをしてみたところばっちりうまくいきました! 
調子に乗って日本語 (EUC) でも試してみましたがこちらも大成功です。

パターンマッチだけなら re_compile_pattern() して re_match() すれば
いいだけみたいです。何か勘違いしているかもしれませんが、今日はもう
遅いのでまた明日調べてみます。

# まつもとさんに感謝しないと :-)


>S> ところで、私の前回のメールのアイディアはいかがなものでしょう。実装
>S> にとりかかる前にご意見をお聞きしたいです。
>
>とてもおもしろいと思います… という程度のことしか言えない(^_^;). 
>実際にやってみて(これまでの, というべきかな?) 
>namazu とどういう違いがでるか, あるいはでないのか興味がありますね. 

実際のところ正規表現で検索したいというシチュエーションというのはあ
まりないかもしれませんが、いざというときに使えると心強いとは思います。

# /インター?フェ[ーイ]ス/ みたいな指定ができますね

ところで、これは単なる思いつきですが、最大4フレーズなどと制限をか
ければ今のインデックスの方式でもフレーズ検索が実現できるんじゃない
か、なんて思っています。インデックスのサイズを無視すればの話ですが。

--
高林 哲 Satoru Takabayashi