• ベストアンサー

正規表現の空白文字の解釈?

正規表現について、「空白文字を区切りとして配列に分割する」というプログラムを書いていたのですが、私の浅い経験では、空白文字は "\s+"で処理できていたと思っていましたが、今PHP4で以下の結果、" +"でないと、正しく動作しませんでした。 $a = " 1 2 3 4 5 "; $b = split(" +", $a); "\s+"の方が正解だと私は思うのですが、どういう解釈で" +"でないといけないのでしょうか?

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

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

正規表現には方言があります。 \sもそのひとつで割合広く使われるものではありますが、POSIXなんかの規格にはありません。 また、PHPの正規表現は二種類(もしくは三種類)あり、それぞれ微妙に異なります。 参考URLの記述によれば、splitで使用できる正規表現では \s はメタ文字には ならないようです。\sでsplitしたいなら、参考URLにあるように preg_split を使うべきだと思います。

参考URL:
http://php.benscom.com/manual/ja/function.split.php
すると、全ての回答が全文表示されます。

関連するQ&A