[PHP-users 30323] 正規表現での文字クラスの動作
Yukio Kinoshita
inahou @ gmail.com
2006年 9月 15日 (金) 07:00:12 JST
木下と申します。
begin と end という文字で囲まれた文字列を
その正規表現を使ってすべて取り出したいのですが、
「beginで始まって、途中にbeginを含まないで、endで終わるもの」
という意味で、
/(begin[^(begin)]*end)/
のようにしているのですが、
[^(begin)] という文字クラスがうまく働いてくれません。
Perlでは、意図したとおりに動作するのですが、
PHPでは、どのようにすればよいのでしょうか。
どなたかわかる方がおられましたら助けてください。
以下がソースになります。
<?php
preg_match_all(
'/(begin[^(begin)]*end)/',
'begin aaa end begin bbb end begin ccc end',
$a
);
var_dump($a);
?>
PHP-users メーリングリストの案内