これにはいくつか問題があります。
カスタム ファイルの基本的な構文の強調表示を実行しようとしています。要素がタグ内にあるかどうかを知る必要があります。
いくつかのサンプルデータ
<span class="class1">
Some Text <span class="class2">Some More Text</span>
TEST
<span>Text</span>
</span>
TEST
ここでやりたいことは、span タグにネストされていない TEST の出現を見つけることです。
最初のタグは 内class1
にネストされているため、一致しないはずです。2 番目のタグは、どのスパン タグにもネストされていないため、一致する必要があります。
最初のテストでは、span タグにネストされていることが示され、2 番目のテストではネストされていないことが示されます。
正規表現がhtmlの解析に使用されることを意図していないことは知っていますが、私の小さな状況では、探していることを行う別の方法がわからないため、正規表現を使用するのが最も簡単だと思いました。この問題を迅速に解決できるのであれば、XPath の使用に反対しているわけではありません。
私のコードでは、このようなメソッドだけが必要です
bool InsideSpanTag(string source, int index);
index が文字列ソースのいくつかの span タグの間にある場合、これは true を返し、そうでない場合は false を返します。
編集: 気にしないでください。インデックスの左側にある開始スパン タグと終了スパン タグを数えて、開始スパン タグの数が終了タグよりも多いかどうかを確認します。ちょっと速くて汚いですが、それは本当に私が必要としていたすべてです.