[PHP-users 18823]Re: 正規表現

tk tk @ ss.iij4u.or.jp
2003年 11月 5日 (水) 23:16:10 JST


いしげさん

ご説明ありがとうございます。
(まだ良くわかってないのですが)

いしげさんの言われている、データの中に ,  を含む場合というのは、
データ1	 "abc"
データ2	"2,345"
データ3	"567"
という状態で、
それをCSVとして、たとえば、abc,2,345,567とした場合ということでしょうか?

私の扱おうとしているCSVデータは、各データ(上記のデータ1、データ2等)の中には、
カンマは入っておりません。
それでも、期待どおりには動作しないということでしょうか?

よろしくお願い申し上げます。
tk



>いしげ です.
>
>On 2003/11/05 22:22:30 JST,
>tk <tk @ ss.iij4u.or.jp> wrote:
>
>>  ただ、なぜ「どのみち期待通りに動作しません」なんでしょうか?
>>  申し訳ありませんが、ご教授いただけないでしょうか。
>
>データの中に , を含む場合の記法は,主に,
>
>   (a) ダブルクォートでデータを囲む →  1,2,"3,3",4
>   (b) カンマをエスケープする →  1,2,3\,3,4
>
>などがありますが,このどちらであっても,
>上記の正規表現はデータ中カンマである 3,3 の , に反応してしまうからです.
>
># 山田さんが提案された explode() → implode() でも同様です.
>
>これを正規表現やら何やらでやっていこうとすると,
>とんでもなく面倒かつ複雑になります.
>詳しくは O'Reilley の「詳説 正規表現」などを参照してください.
>
>
>で,まぁ,いろいろ奥が深いので,
>割り切って「データにカンマは入らない」を運用ルール化するか,
>その辺まできっちりやってくれるライブラリを探すor作るか,ですね.
>
>この場合,前者のように「カンマは入らない」前提でないと
>件の正規表現は「期待通り動作しない」というお話でした.
>
>
>--
>ISIGE, Akira
>
>_______________________________________________
>PHP-users mailing list
>PHP-users @ php.gr.jp
>http://ns1.php.gr.jp/mailman/listinfo/php-users



PHP-users メーリングリストの案内