这个有点麻烦。
尝试为自定义文件做一些基本的语法高亮。需要知道元素是否在标签内。
一些样本数据
<span class="class1">
Some Text <span class="class2">Some More Text</span>
TEST
<span>Text</span>
</span>
TEST
我想在这里做的是找到没有嵌套在 span 标签中的 TEST 的出现。
第一个不应该匹配,因为它嵌套在里面class1
,第二个标签应该匹配,因为它没有嵌套在任何 span 标签中。
第一个测试应该显示它嵌套在 span 标签中,第二个应该显示它不是。
我知道正则表达式并不意味着用于解析 html,但对于我的小情况,我认为使用正则表达式会最简单,因为我不知道另一种方法来做我正在寻找的事情。如果它可以快速解决这个问题,我不反对使用 XPath。
在我的代码中,我想要的只是这样的方法
bool InsideSpanTag(string source, int index);
如果索引在字符串源中的一些跨度标签之间,这将返回 true,如果不是,则返回 false。
编辑:没关系,我只计算索引左侧的开始和结束跨度标签,看看开始跨度标签的数量是否大于结束标签。有点快和肮脏,但这确实是我所需要的。