私はこの正規表現を持っています。
/(#LOG(\(.*?\))+\s+)(((ENTRY\([a-z]+\)+(\{[a-z]\})?))(.*?)(?=ENTRY|#END))+(\s*#END)/is
そして、次のテキスト。
#LOG(pid1234)(20052013)
ENTRY(description)
Some text
ENTRY(description){info}
Multiline
text
ENTRY(description)
More text
#END
もちろん、preg_match_all を使用して、すべての個々のエントリと最初の行を提供する素敵な配列を取得しようとしています。
最初と最後のグループを削除すると、個々のエントリが提供されますが、一貫性を確保するために最初と最後のグループが必要であり、最初の行は必要な情報を提供します。
私は運が悪いので、しばらくの間これをいじっています。私が達成しようとしていることには、少し異なる戦術が必要になる可能性があることに気付きましたが、それが何であるかはわかりません。
これを達成する方法はありますか?