Java正则表达式复杂模式

标签 java html regex

我有一个像这样的字符串(由 HTML 源代码制成):

<tr>
  <td>
    <tr>First</tr>
  </td>
</tr>
<tr>
  <td>Second</td>
</tr>
<tr>
  <td>
    <tr>
      <td>Upper</td>
    </tr>
    <tr>
      <td>Lower</td>
    </tr>
  </td>
</tr>

但在一行中 - 我将其分开以使其看起来更好。 我想要实现的是一个正则表达式,它将捕获该表的整行,因此匹配项是:

<td>
  <tr>First</tr>
</td>

<td>Second</td>

<td>
  <tr>
    <td>Upper</td>
  </tr>
  <tr>
    <td>Lower</td>
  </tr>
</td>

最简单的选项:

  • <tr>.*</tr> - 捕捉一切
  • <tr>.*?</tr> - 从第一次捕获<tr>到第一个</tr> .

我希望它捕获相应的标签。有人可以帮忙吗?

最佳答案

您可以使用html解析引擎jsoup并运行类似的操作从表中提取行

String url = "a.html";
Document doc = Jsoup.connect(url).get();

Elements rows = doc.select("table tr");

关于Java正则表达式复杂模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17087084/

相关文章:

java - 如何使用 JAX-WS 客户端指定 WS-Addressing 版本?

java - 循环没有重置?

javax.naming.NameNotFoundException : Name [jdbc/spitterDS] is not bound in this Context. 无法找到 [jdbc]

python - 从python中的列表中删除空字符串

regex - 用于域匹配的嵌套正则表达式

java - bukkit 插件《我的世界》箱子用列表中的 int 填充并从类构建

html - 如何避免为我的 CSS 文件调用 "fonts.googleapis.com/css?family=.."

html - 当使用jade的 "pretty"选项时,如何防止单个 block 中的元素之间存在空格?

html - 使用 CSS 的菱形布局

javascript - 如何使用正则表达式在原始 html 文本节点中的非终端点后插入中断标记