RegEx - 两个值之间的HTML

时间:2011-09-26 15:08:58

标签: c# regex

我希望获得以下文字之间的html:

<ul type="square">  
</ul>

什么是最有效的方式?

4 个答案:

答案 0 :(得分:1)

我总是使用XPath来做这样的事情 使用将提取节点的XPath,然后您可以从该节点获取InnerHTML。非常干净,是工作的正确工具。

其他详细信息:HAP Explorer是获取所需XPath的不错工具。将HTML复制/粘贴到HAP资源管理器中,导航到感兴趣的节点,复制/粘贴该节点的XPath。将该XPath字符串放在字符串资源中,在运行时获取它,将其应用于HTML文档以提取节点,从节点获取所需信息。

答案 1 :(得分:-1)

我同意HTML解析器是解决此问题的正确方法。 但是,为了幽默你,并纯粹为了学术兴趣回答你的原始问题,我建议:

/<[Uu][Ll] +type=("square"|square) *>((.*?(<ul[^>]*>.*</ul>)?)*)<\/[Uu][Ll]>/s

我确信有些情况会失败,但我想不出来,请建议/ * 他们 * /更多。

让我重申一下我不建议你在你的项目中使用它。我只是出于学术兴趣而这样做,并作为演示为什么一个解析html的正则表达式是坏事和复杂

答案 2 :(得分:-1)

如果你真的想要一个:
@<ul type="square">(.*?)</ul>@im

答案 3 :(得分:-2)

Regular expressions should not be used to parse HTML!

这肯定不起作用:

<ul type="square">(.*)</ul>