【问题标题】:How can I extract the contents of TR tags from HTML using server-side JavaScript's RegExp? [duplicate]如何使用服务器端 JavaScript 的 RegExp 从 HTML 中提取 TR 标签的内容? [复制]
【发布时间】:2014-06-25 08:19:15
【问题描述】:

我似乎无法解决这个看似简单的问题。

假设 tr 内永远不会嵌套 tr(因此不需要成熟的解析器)。

var HTMLtoParse = 'anything before <tr>1 blah<td></td>gsdgfs</tr> dfg <tr>2 blah<td></td>sdgfs</tr> anything after ';

var magicRE = /????/g;

var desiredOutput = HTMLtoParse.match(magicRE);

期望输出在哪里

[
  '<tr>1 blah<td></td>gsdgfs</tr>',
  '<tr>2 blah<td></td>sdgfs</tr>'
]

提前干杯

【问题讨论】:

  • 抱歉,这不是重复的吗?阅读问题
  • 尽管您在谷歌上搜索“使用正则表达式解析 html”时看到了数十条警告(以及对假定重复的最终答案),但您仍然认为这是一个好主意吗?
  • @RobertHarvey 所有警告都告诉您正则表达式由于嵌套而不能很好地与 html 一起使用,并且它们都建议使用递归的体面解析器。但是由于 TR 中永远不会有 TR,所以没有问题。

标签: javascript html regex node.js


【解决方案1】:
var HTMLtoParse = 'anything before <tr>1 blah<td></td>gsdgfs</tr> dfg <tr>2 blah<td></td>sdgfs</tr> anything after ';
var res = HTMLtoParse.match(/<tr>.*?<\/tr>/g);
console.log(res);

【讨论】:

  • 哇,非常感谢,这就是我所需要的
猜你喜欢
  • 2012-02-29
  • 2015-12-30
  • 2012-12-02
  • 1970-01-01
  • 2019-09-26
  • 1970-01-01
  • 1970-01-01
  • 2013-08-09
  • 2019-08-20
相关资源
最近更新 更多