二重中括弧の間のすべての文字を一致させる必要がありますが、1 つの大きな文字列で複数の一致を見つけることができる必要があります。
私は C# でこれを行っているため、この RegEx テスターを使用しています : http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx SingleLine」が欲しいのでチェック。一致する \n
これが私が一致している文字列の例です:
<div class="nest-1-2">
<dl>
<dt>Type:</dt>
<dd>{{(Entity)Field Name.separator(, ) > [:Name:]}}</dd>
<dt>At:</dt>
<dd>{{(Entity)Field Name > [:Name:]}}</dd>
<dt>Team:</dt>
<dd>{{(Entity)Field Name.separator(, ) > [:First Name:] [:Last Name:]}}</dd>
</dl>
</div>
私が使用している正規表現は次のとおりです。
\{\{(?<field>[^>]*)?[ > ]?(?<looptemplate>[^\}\}].*)?\}\}
私が抱えている問題は、すべてのテキストを次の }} まで一致させたいということです。これは、次のテキストではなく最後のテキストと一致しています。だから私は否定的な先読みを使用しようとした最初{{
から最後までのすべてである1つの一致を取得していますが、それは私にとってはうまくいかないようです. 残念ながら、 は両方の中括弧には一致せず、一方のみに一致します。}}
(?!\}\})
[^\}\}]
私は正規表現の完全な初心者ではありませんが、これは本当に私を魅了しました. 私は答えを見つけようとして周りを見回したので、誰かが私を助けてくれることを願っています.
専門家からの助けを本当に感謝します。