【问题标题】:How do I get content from a table using its ID with a regex?如何使用带有正则表达式的 ID 从表中获取内容?
【发布时间】:2011-01-06 07:21:09
【问题描述】:

我需要对一个 html 字符串进行排序,以便获得所需的内容。现在我需要遍历具有 ID 的表中的表行。如何使用正则表达式做到这一点?

【问题讨论】:

标签: regex html-table html-content-extraction


【解决方案1】:

正则表达式不能用于解析 HTML; HTML 不规则。使用适当的 HTML 解析器库。

【讨论】:

  • 您对此有什么建议吗?我使用 asp.net c#
【解决方案2】:

这取决于 HTML 文本的规则性。例如,给定这张表:

<table>
  <tr><td>1</td><td>Apple</td></tr>
  <tr><td>2</td><td>Ball</td></tr>
  <tr><td>3</td><td>Cookie</td></tr>
<table>

以下正则表达式查找第一列中的 ID:

(?<=<tr><td>).*?(?=</td>)

【讨论】:

    【解决方案3】:

    如果您通过像 BeautifulSoup 这样的 html 解析器运行页面,那么您可以美化它,以便这种正则表达式有机会。但是如果你仍然在解析 html...

    【讨论】:

      【解决方案4】:

      试试这个

      Dim HTML As String = contentText
      Dim options As RegexOptions = RegexOptions.IgnoreCase Or RegexOptions.Singleline
      Dim regex As Regex = New Regex("<table[^>]*>(.*)</table>", options)
      Dim match As MatchCollection = regex.Matches(HTML)
      Dim sb As StringBuilder = New StringBuilder
      For Each items As Match In match
          sb.Append(items.ToString & vbLf)
      Next
      TextBox.Text = sb.ToString
      

      【讨论】:

        猜你喜欢
        • 2013-07-31
        • 2014-04-20
        • 1970-01-01
        • 2011-02-11
        • 1970-01-01
        • 1970-01-01
        • 2012-12-07
        • 1970-01-01
        • 2011-11-11
        相关资源
        最近更新 更多