[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 メーリングリストの案内