XMLドキュメントをフォーマットしようとしているので、次のような文字列をメソッドに渡します。
"<foo><subfoo><subsubfoo>content</subsubfoo></subfoo><subfoo/></foo>"
そして、私はタグを見つけることに基づいてそれを分割しようとしています。各要素(タグまたはコンテンツ)を次のような一意の文字列に分割したいと思います。
"<foo>", "<subfoo>", "<subsubfoo>", "content", "</subsubfoo>", "</subfoo>", "<subfoo/>", "</foo>"
そしてこの目的のために私はコードを使用します:
string findTagString = "(?<=<.*?>)";
Regex findTag = new Regex(findTagString);
List<string> textList = findTag.Split(text).ToList();
上記のコードは、「コンテンツ」を独自の文字列に分割しないことを除いて、正常に機能します。
"<foo>", "<subfoo>", "<subsubfoo>", "content</subsubfoo>", "</subfoo>", "<subfoo/>", "</foo>"
これを達成するために正規表現を書き直す方法はありますか?不一致を独自の文字列に分割しますか?
または、言い換えると、正規表現の一致の前と後に文字列を分割することは可能ですか?