json に似た大規模な多次元構造で構造化されたファイルがありますが、json ライブラリを使用するには十分ではありません。
データは次のようになります。
alpha {
beta {
charlie;
}
delta;
}
echo;
foxtrot {
golf;
hotel;
}
私が構築しようとしている正規表現 (preg_match_all の場合) は、データを表す多次元の PHP 配列を構築して、一致を再帰できるように、各最上位の親 ({} 波括弧で区切られている) と一致する必要があります。
私が試した最初の正規表現は/(?<=\{).*(?=\})/s
、中括弧内のコンテンツを貪欲に一致させるものですが、最上位レベルに複数の兄弟がいる場合、一致が貪欲すぎるため、これは正しくありません。以下の例:
正規表現/(?<=\{).*(?=\})/s
一致の使用は次のように与えられます。
マッチ 1:
beta {
charlie;
}
delta;
}
echo;
foxtrot {
golf;
hotel;
代わりに、結果は次のようになります: 一致 1:
beta {
charlie;
}
delta;
マッチ 2:
golf;
hotel;
正規表現ウィザード、ここで欠落している機能は何ですか、またはphpでこれを解決する必要がありますか? どんなヒントでも大歓迎です:)