gpt4 book ai didi

java - 如何在 Java 中编写考虑到我要查找的字符串上下文的正则表达式?

转载 作者:行者123 更新时间:2023-12-02 00:53:09 27 4
gpt4 key购买 nike

我想解析 HTML 代码并根据表中的文本表示创建对象。我有几列,我想在每一行上保存某些列的上下文。现在,我有了 HTML 代码,并且我知道我应该使用 Pattern 和 Matcher 来获取这些字符串,但我不知道如何编写所需的正则表达式。

这是我将解析的一行:

<tr><td><a href="delirium.htm">Delirium</a></td><td>65...</tr>

所以,我想从该字符串中提取 Deliium。我如何编写正则表达式说

获取字符串 htm"> 之间的字符串和</a></td>

最佳答案

这是 SO 上的一个常见问题,答案总是相同的:正则表达式对于解析 HTML 来说是一种糟糕且有限的工具,因为 HTML 不是一种常规语言。

您应该使用an HTML parser ,例如HTML Parser .

如果您好奇我所说的“常规语言”是什么意思,请查看 JMD, Markdown and a Brief Overview of Parsing and Compilers 。基本上,正则表达式是 DFA(确定性有限自动机或确定性有限状态机)。 HTML 需要 PDA(下推自动机)来解析。 PDA 是带有堆栈的 DFA。这就是它处理递归元素的方式。

关于java - 如何在 Java 中编写考虑到我要查找的字符串上下文的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2091057/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com