少しの例から始めましょう。私は、次のテキストがあります。ネストされたタグのC#regexp
[[一部のタグは、[[タグと]]と再び]ネストされた]を、私は[[タグ付き]ネストされた]と一致したいのですがではなく、 [[いくつかのタグ[[入れ子にタグをつけた]]。単純
\[\[(?<content>.+?)\]\]
明らかに動作しませんでした。だから私は、正規表現を作成しました:PHPのするpreg_matchは完璧に動作しながら、
\[\[(?!.*?\[\[.*?\]\].*?)(?<content>.+?)\]\]
残念ながら、それは、(MatchOptions.SingleLine付き)C#を使用して、何も一致していません。
手がかり/アイデアはありますか?どんな助けでも大歓迎です。
C#で正規表現を使用して正規表現を実行しても問題はありません。 [[タグ付き]]を正しく返します。コードを投稿できますか? –
私は問題があるかどうかはわかりません。私はあなたの2番目のパターンと 'RegexOptions.Singleline'を使って' System.Text.RegularExpressions.Regex'を作成し、次にあなたのサンプル文字列に 'Match'を呼び出しました。それは "[[入れ子になった]]"の1回のキャプチャで戻ってきました。 –
@ハリー:この入力で試してください: '[[outer1 [[nested1]] outer2 [[nested2]] outer3]]'。質問を正しく理解すると、 'nested1'と' nested2'と一致するはずですが、 'nested2'にしかマッチしません。 –