我正在寻找mhtml文件中的html结束标记。 html是固定宽度的行,末尾有换行符,如下所示:
size:12pt">Insert an image into the document here.</span></p><p style=3D"ma=
rgin:0pt 0pt 3pt; text-align:center"><img src=3D"image.001.png" width=3D"20=
0" height=3D"200" alt=3D"" /></p><p style=3D"margin:0pt 0pt 3pt"><span styl=
e=3D"font-family:Arial; font-size:12pt"> </span></p></div></body></htm=
l>
注意&lt; / html&gt;结束标记在中间被“= \ n”分割。
如何找到&lt; / html&gt;结束标记,无论它在何处分割?
我可以使用类似于以下内容的Regex找到单个排列,但我想一次性完成。
<((=\n)?/html>)
</((=\n)?html>)
</h((=\n)?tml>)
</ht((=\n)?ml>)
etc...
我已阅读RegEx match open tags except XHTML self-contained tags并阅读了http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html等帖子,但我仍然认为这个问题是有效的。
我不是在做一个html解析引擎。我只是在寻找一种非常具体的模式。 而且......这必须明天出去。完成这项工作的所有重要理由和肮脏的解决方案&gt;:D
答案 0 :(得分:2)
<(=\n)?/(=\n)?h(=\n)?t(=\n)?m(=\n)?l(=\n)?>
答案 1 :(得分:0)
只需使用Regex.Replace()并查找= \ r \ n并将其替换为String.Empty。那么你可以在没有干预的情况下进行比赛吗?
答案 2 :(得分:0)
HTML不是常规语言......它不适合使用正则表达式进行处理。
使用正则表达式对任意输入无法正确执行大括号或标记计数/匹配等任务。
您应该使用实际的HTML解析器来执行此操作,而不是正则表达式。