[PHP-users 18820]Re: 正規表現
ISIGE, Akira
xia @ silvia.com
2003年 11月 5日 (水) 22:38:43 JST
いしげ です.
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 メーリングリストの案内