私は解析する問題が発生しました。これは、動作するパターンが再帰的でなければならないという点を除けば、かなり小さい正規表現で解決します。
例:.NET用の代替正規表現エンジン、再帰をサポート
{([^{}]*(?:{(?1)})?)
私はそれを一致させたいどのような、特定のRTFヘッダーですが、それを行うには、私はそれが再帰的にする必要があります。
{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}
パターンのこれらの種類(多分別の構文)に一致するものを見つけることができるようになる.NETの非真の正規表現のようなエンジンの実装のいくつかの種類がありますか?
更新:は
私は本当に私を助けている、以下のコメントとして非常に包括的なリンクを提供している正規表現の.NET実装、特にQtax、中Balancing Groupオプションについての私を知らせるために皆に感謝しますこれについては何であるかを理解し、具体的な例に答えを投稿することもできます。あなたがこれを読んでいて、それがあなたを助けてくれたなら、その答えをアップアップしてください。
しかし... .NET Regexのようなエンジンで再帰可能性に関する一般的な質問には答えられませんでした。この例は、幸いにも(私は挑戦が好きです)私が会った唯一のものではありません。そして、この解決策を使用して他の状況を解決することはできませんが、一致を参照するのではなく、パターンのシーケンスを再帰が可能な点に再利用することによってのみ解決できます。
://を あなたはまた、最後に}忘れてしまったとの文字列、使用をマッチさせたい場合blogs.msdn.com/b/bclteam/archive/2005/03/15/396452.aspx)がこの問題に役立つ可能性があります。 – vcsjones
マニュアルのバランシンググループhttp://msdn.microsoft.com/en-us/library/bs2twtah.aspx#balancing_group_definition – Qtax
はい、私は非常に有益でした、ありがとうございました。しかし、再帰的な正規表現が必要なのはそれだけではありません。 – AlexanderMP