我有一个像这样的HTML:
<h1> Headhing </h>
<font name="arial">some text</font></br>
some other text
在C#中, 我想得到如下的输出。只需在字体开头标记和结束标记内容
<font name="arial">some text</font>
答案 0 :(得分:4)
我不建议尝试使用正则表达式。
我使用HTML Agility Pack来解析HTML并获得我想要的内容。 这是一个可爱的HTML解析器,通常建议使用它。这将需要格式错误的HTML并按摩它到XHTML,然后是一个可遍历的DOM,比如XML类。因此,对于您在野外找到的代码非常有用。
还有一个来自Microsoft MSHTML的HTML解析器,但我还没有尝试过。
答案 1 :(得分:4)
首先,您的HTML是错误的。您应该使用<h1>
而不是</h1>
关闭</h>
。这一点就是为什么reg ex不适合解析标签。
其次,关于用正则表达式解析html的问题,有数百个问题。答案是不。使用类似html敏捷包的东西。
答案 2 :(得分:1)
Regex regExfont = new Regex(@"<font name=""arial""[^>]*>.*</font>");
MatchCollection rows = regExfont.Matches(string);