2010-12-07 4 views
1

mhtmlファイルのhtml終了タグを探しています。 htmlのは、このような終わりに改行と固定幅の行にされていますRegexを使用して、別のグループ文字で区切られたテキストを見つけるにはどうすればよいですか?

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">&#xa0;</span></p></div></body></htm= 
l> 

お知らせ</HTML>終了タグは「= \ nの」によって中央で分割されています。

分割されている場所に関係なく、</html>終了タグを見つけるにはどうすればよいですか?

次のようなRegexを使って1つの置換を見つけることができますが、私はそれをワンショットで行いたいと思います。

<((=\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解析エンジンを作っていません。私はちょうど1つの非常に特定のパターンを探しています。 そして...これは明日外出しなければなりません。この問題を解決する大きな理由>:D

+0

本当にHTMLを正規表現で解析するべきではありません。読み込み:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – LBushkin

答えて

2
<(=\n)?/(=\n)?h(=\n)?t(=\n)?m(=\n)?l(=\n)?> 
+0

ありがとう、アラン。これは完全に機能しました。 – Jason

0

Regex.Replace()を使用して、\ r \ nを探し、それをString.Emptyに置き換えます。その後、介入せずに試合をすることができますか?

0

HTMLは標準言語ではありません。正規表現を使用した処理には適していません。

正規表現を使用して任意の入力に対して中括弧やタグのカウント/マッチングなどのタスクを正しく実行することはできません。

実際には正規表現ではなく、実際のHTMLパーサーを使用する必要があります。

+0

当然のところ、手作業は通常の変換であり、HTMLパーサは本当にこの 'HTML'を詰まらせるはずなので、これは本当に悪いことではありません。 – Charles

関連する問題