1
我有一個html文本文件,我試圖刪除表格中的任何HTML標籤,即刪除<TABLE>
和</TABLE>
標籤中的任何HTML。這個正則表達式在vb.NET中有什麼問題?
然而,什麼是真正奇怪的是,我使用正則表達式, (?<=<table((?!</table).)*)<(?!/table)[^>]+>
, 在PowerGREP或專業的EditPad然而完美的作品,當vb.NET(或快報)應用到同樣的文本,它不工作!
我只是用一個簡單的替換方法:newString = Regex.Replace(oldString, "(?<=<table((?!</table).)*)<(?!/table)[^>]+>", string.Empty, RegexOptions.IgnoreCase)
我得到完全糊塗了,我想知道如果有人能幫助我,看看爲什麼是這樣的話,我需要什麼樣的變化,使爲了使它在.NET中工作。謝謝!
下面是示例文本:
================
texttexetext
<TABLE>
<TAG1>
<TAG2>tabletext<TAG3>
<TAG4>
</TABLE>
texttexttext
===============
在PowerGREP最終輸出
================
texttexetext
<TABLE>
tabletext
</TABLE>
texttexttext
===============
很難在沒有看到相應的VB代碼的情況下猜出錯誤。另外,一般來說,爲了從HTML中可靠地提取信息,最好使用HTML解析器(如HTML敏捷包),因爲HTML的語法不規則。正則表達式經常在解析解決方案中由標記器使用,但不是全部。 – JasonTrue 2010-12-22 18:47:05