• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現で文字列を区切りたい)

PHPで正規表現を使って文字列を分割する方法

このQ&Aのポイント
  • PHPで正規表現を使用して文字列を分割する方法について教えてください。
  • mb_split関数を使用して、正規表現を使って文字列を区切る方法を知りたいです。
  • 正規表現の仕組みがよく分からず、参考になる情報を探しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • getsleepy
  • ベストアンサー率100% (1/1)
回答No.1

あまり正規表現得意というわけでもありませんが・・。 (?<!\d)\| でいかがでしょうか。 ---------------- <?php print_r(mb_split('(?<!\d)\|', "1|ねこ|2|こあら|3|りす")); ?> ---------------- > 調べていて、以下のページに書かれている話が > 近いのかなと思うのですが、 > そこで述べられている正規表現の仕組みがよく分からないでいます。 正規表現の"後読み(lookbehind)"の否定を使っています。 参考URLを参照ください(lookbehindでページ内を検索してみてください)。 下に解説を書いてみます。 lookbehindの否定 (?<!foo)bar は、"foo" 以外の後にある "bar" の存在を見つけるもの この場合、 数字以外の後にある|を見つけたいので、 数字 → \d | → \| ということで、"foo" に "\d" を、 "bar" に "\|" を当てはめて (?<!\d)\| となりました。

参考URL:
http://www.php.net/manual/ja/reference.pcre.pattern.syntax.php
djsas
質問者

お礼

ありがとうございます。解決しました。 たいへん助かりました。