【发布时间】:2017-04-20 07:54:31
【问题描述】:
我意识到有很多关于在某些东西之间获取某些东西的问题,甚至特别是 HTML 标签。但我的要求有所不同,因为如果存在嵌套标签,我不会忽略 <td></td> 内容。如果仍然存在重复,请标记此内容并将我指向那个。
示例输入:<td><p>column1</p></td><td>column2</td>
预期输出:column2(太棒了!)或>column2
根据this 的问题,我尝试了<td>(.*?)<\/td> 并得到了2 个匹配项:
<td><p>column1</p></td>
<td>column2</td>
根据标记的答案,我尝试了>[^<]*< 并得到了这个:
差不多了。我可以得到 > 和 <td> 因为它有 <p> 嵌套在其中。
假设:<p> 在嵌套的情况下始终是最内层的标签。如果输入为<td><p>column1</p>postfix</td>,则忽略<td>。
【问题讨论】:
-
你不应该从你的正则表达式中删除
td-<td\b[^>]*>([^<]*)<\/td> -
不要尝试使用正则表达式解析 HTML,请参阅 RegEx match open tags except XHTML self-contained tags。使用 HTML 解析器。
标签: javascript html regex