【问题标题】:Node.js using Regular Expression to extract certain string from the responseNode.js 使用正则表达式从响应中提取某些字符串
【发布时间】:2016-12-16 23:41:27
【问题描述】:

我想使用正则表达式从我使用 Nodejs 检索到的网站 html 代码中提取一些文本。我收到的文字是这样的:

<body>

...

<p>text with certain format that I want.</p>

...

</body>

我应该如何提取测试并将其存储在变量中?

我这样做的原因是因为我需要从许多页面中检索信息,无法手动完成。

提前非常感谢!

【问题讨论】:

  • 您在寻找特定的字符串吗?这些页面上是否有多个段落?
  • 使用Cheerio - 它是一个服务器端的jQuery。或者你可以使用YQL。
  • 1) 重复 2) 不要这样做 3) 链接stackoverflow.com/a/1732454/1178921
  • @deltree 这个网站上我最喜欢的帖子之一。

标签: javascript regex node.js extract information-retrieval


【解决方案1】:
var text= '<p>text with certain format that I want.</p>';
jQuery('<div>' + text + '</div>').text();

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。不鼓励仅使用代码回答。
  • 通过这个“技巧”,您可以清除来自 html 标签或 html 实体等的响应。
【解决方案2】:

如果您只是在寻找段落的第一个实例,您可以这样做,但这只会获取第一段的内容。如果您想要一个特定的段落,您需要一种方法来识别该段落,而不是 HTML 中的所有其他段落。

如果您正在寻找更具体的内容,我们需要更多地了解您想要做什么。

var regex = /<p>(.*)?<\/p>/,
    html = [your html here],
    results = regex.exec(html);

console.log(results); // an array of matches

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 2014-10-17
    • 2017-08-23
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多