[PHP-users 34122] 正規表現について

decoy youtube0318 @ gmail.com
2008年 11月 12日 (水) 16:08:48 JST


decoyです。

正規表現を使い、変数$aaから
下記のような結果(期待値)が欲しい場合、
preg_matchの第一引数にどのように書けばいいでしょうか。

http://www.din.or.jp/~ohzaki/regex.htm
上記サイトも参考にしてみたんですがわかりませんでした。

・仕様
1. 変数$aaから<AA>と</AA>で囲まれた部分を配列で取得する
2. <AA>と</AA>の間で改行が入る事がある(修飾子のsを入れればよし)
3. <AA>と</AA>の外側の文字列は無視する("---"や"ああ"等)
4. 入れ子になることはない(<AA>と</AA>の中に新たに<AA>と</AA>が入る事はない)


$aa = '---<AA><xx>a</xx></AA>ああ
いい<AA><yy>b</yy></AA>
</AA><zz>
c</zz></AA>---';

preg_match('/\<AA\>.+\<\/AA\>/s',$aa,$matchs);

print_r($matchs);


現状
Array
(
    [0] => <AA><xx>a</xx></AA>ああ
いい<AA><yy>b</yy></AA>
</AA><zz>
c</zz></AA>
)


期待値

Array
(
    [0] => <AA><xx>a</xx></AA>
    [1] => <AA><yy>b</yy></AA>
    [2] => </AA><zz>
c</zz></AA>
)


以上、お手数ですがご教授の程、宜しくお願い致します。

// decoy


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