[PHP-users 24910] Re: preg_split について
ISIGE, Akira
xia @ silvia.com
2005年 3月 16日 (水) 10:31:58 JST
いしげ です.
# もう済んだ話かもしれませんが
> でもなんかおかしくありませんか?
> Perlでは\\ですし。
PHP は「文字列を関数に与え,関数がそれを正規表現として解釈する」ですが,
Perl では(この場合)「正規表現リテラルをマッチング演算子のオペランドとする」
です.
……と解釈してはいかがでしょう?
前者の PHP 式解釈では,先に \ のエスケープ処理が行なわれるので,今回の挙動と
なります.
後者では「正規表現リテラル」としてエスケープ処理の仕方からして文字列とは異な
ります.
例えば Perl でも,
----------------
$re = '^\\$';
print '\\' =~ m/$re/;
----------------
は偽を返します.PHP ではこれと同じように動作している,と考えれば,
今回の挙動も納得いくのではないでしょうか.
前提として,PHP の PCRE 関数は Perl の文法と同一である必然性はありませんし.
--
ISIGE, Akira
PHP-users メーリングリストの案内