私は[T][\T]
の間と後に、前にすべてのものを抽出することになっている正規表現C#の - の間と後にする前にすべて、[T] [/ T]
([\s\S]*?)\[T\]([\s\S]*?)\[\/T\]([\s\s]*?)
この正規表現をしましたが、私は常に第三の取得キャプチャグループは空です。
私のテキストは次のとおりです。
<h1>HelloWorld</h1>
[T]
<h2>I'm Inside</h2
[/T]
<h1>HelloWorld</h1>
[T]
<h2>I'm Inside</h2
[/T]
<h3>By World</h3>
私はRegexrとRegex101を使用し、間違いが最後のキャプチャグループ([\s\S]*?)
に?
にあった、beacuseは怠惰*
をやっているという結論になりましたしました。しかし、私はそれを削除する場合は、2つではなく1つのマッチとしてすべてをグループ化します。
EDIT:
は基本的に私は
var template = @" <h1>HelloWorld</h1>
[T]
<h2>I'm Inside</h2
[/T]
<h1>HelloWorld</h1>
[T]
<h2>I'm Inside</h2
[/T]
<h3>By World</h3>";
var regex = new Regex("([\s\S]*?)\[T\]([\s\S]*?)\[\/T\]([\s\s]*?)");
var finalString = regex.Replace(template,"$1 ; $2 ; $3");
// finalString = HelloWorld ; I'm Inside ; By World //
感謝任意の助けのような何かをしたいです。
あなたは望ましい結果が何であるか(より具体的な)を指定することはできますか?なぜなら、この正規表現は、最後の行を除くすべて([T]と[/ T]タグを含む)を選択するからです。 – Jim
準備が整った、編集をした、そしてええ、それはかなり簡単です。最後の行を含め、エラーが発生する箇所をすべて選択したいと思います。 –
タグ内にテキストをキャプチャし、タグなしでテキストを出力しようとすると、あなたの質問は明確ではありません.1回のパスでは不可能です。 'h2'タグは'> 'で閉じられません。本当にあなたのものですか? '[\ s \ s]'は分かりません。 '\ s'と同じです。今のところ私はhttp://ideone.com/upIXLRを提案することしかできません。確認して更新してください。 –