[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends:00404] Re: 文字列にある文字列が含まれるかどうかを調べる方法 ( 大文字小文字を区別しない)
石黒です。
>大崎様
> 正規表現を使う場合、部分的にもマッチしない箇所は比較が行われないはずです。
この部分の意味が良く分かりませんし、矛盾があると思います。
「マッチしない箇所」を発見するためには、コンピュータのアーキテクチャ上、まず
比較を行う必要があると思いますが、どうなんでしょう。
正規表現の解釈がコンピュータの内部でどの様に実装されているかは具体的には知り
ませんが、「検索対象の文字列と同じサイズの文字列」は1つ以上作業用に確保して
いると思いますし、小文字か大文字に統一するなどして、バンバン比較処理が行われ
ているかと思います。
そうしないと処理できないはずです。
再度強調したいのは、
> > コンピュータのアーキテクチャにもう少し考えを届かせたほうがよいか
> > と思います。
ということです。
よろしく。
----- Original Message -----
From: "大崎 洋平" <osaki@xxxxxxxxxxxxxx>
To: <jfriends@xxxxxxxxxxxx>
Sent: Sunday, August 22, 2004 8:46 AM
Subject: [jfriends:00395] Re: 文字列にある文字列が含まれるかどうかを調べる方
法 ( 大文字小文字を区別しない)
> 大崎です。
>
> > > 今回は、たくさんのデータを検索するので、すべて小文字か大文字に
> > > するのはちょっとパフォーマンスが悪くなるのでは。。とおもった
> > 思うのは自由ですが、ちょっと筋が悪いと思います。
> > コンピュータのアーキテクチャにもう少し考えを届かせたほうがよいか
> > と思います。
>
> .... snip ...
>
> > > すべて小文字か大文字で統一して indexOf で調べるのが
> > やり方としておかしくないし、効率的であることが想像できます。
>
> そうでしょうか?
> indexOf()を使った場合、検索対象の文字列と同じサイズの文字列をもう一つ作
> ることになりますよね。
> そして、そのすべての文字列を調べて、大文字、小文字を入れ替えることになり
> ますよね。
> 本当に効率的だといえますか?
>
> 正規表現を使う場合、部分的にもマッチしない箇所は比較が行われないはずです。
> (つまり、大文字、小文字の変換も行われません。)
> 私にはこちらのほうが効率的に思えるのですが。
>
> 大島さんの調査報告をお待ちしております。
>
> --
> /** 大崎 洋平 (Yohei Osaki)
> * @e-mail osaki@xxxxxxxxxxxxxx
> *
> * XML Based Application Architecture (XAA)
> * http://www.xaa.jp/
> */
>
>
>