[PHP-doc 853] Re: PCREの「Perl とは異なる点」の修正提案

TAKAGI Masahiro matakagi @ gmail.com
2010年 8月 7日 (土) 18:59:16 JST


高木です。

2010/8/7 HANAWA Yoshio <y @ hnw.jp>:
> 塙です。
>
> PHPマニュアルのPCREの説明に間違いを見つけました。
>
> PCRE正規表現で\Qと\Eが使えないとPHPマニュアルにはありますが、
> 実際は利用できます。
> \Qと\Eはメタ文字の解釈のオンオフをするエスケープシーケンスです。
>
> http://php.net/manual/ja/reference.pcre.pattern.differences.php には
>
> 5. 次の Perl エスケープシーケンスはサポートされせん。 \l, \u, \L, \U, \E, \Q 。 これらのエスケープシーケンスは、Perl のパター
> ンマッチエンジン内 ではなく、文字列処理の部分で実装されているためです。
>
> とありますが、サポート外は「\l, \u, \L, \U」の4つが正しいと思います。
> 英語版マニュアルではそうなっています。
>

確認しました。

http://www.php.net/manual/ja/regexp.reference.escape.php の最後には
> \Q と \E とを使って、 パターン中のメタ文字を無視させることができます。…
という記述もありますし、確かに日本語訳がおかしいですね。

おそらく、2005年のこの変更を反映させるときの対応漏れだと思います。
http://svn.php.net/viewvc/phpdoc/en/trunk/reference/pcre/pattern.syntax.xml?r1=175078&r2=188306

さきほど対応させていただきました。ご指摘ありがとうございました。
http://news.php.net/php.doc.ja/2771

-- 
TAKAGI Masahiro mailto:matakagi @ gmail.com


PHP-doc メーリングリストの案内