私は文字列を持っています:
abc{def}ghij{kl{mn}o{pq}}r{s{t{u{v}}w}}xyz
目標は、括弧内のすべてを抽出することです。
1. def
2. kl{mn}o{pq}
3. mn
4. pq
5. s{t{u{v}}w}
6. t{u{v}}w
7. u{v}
8. v
正規表現またはループのいずれかの解決策を探します。
編集:
さて、これが気になり始めたので、私が試したことは次のとおりです。
preg_match("/(\{[^\{]+\})+/", $str, $matches); // matches only first occurrence
preg_match_all("/(\{[^\{\}]+\})+/", $str, $matches); // this matches only the final level occurrences
そして実際には、これをどのように達成できるかというアイデアから。
したがって、今のところ、私の最大の障害は、1 番目のレベルですべてのオカレンスを見つけることです。このようにして、文字列を再帰的に掘り下げ、必要なすべてのサブセットを取得できました。