【发布时间】:2013-02-20 17:57:28
【问题描述】:
我尝试在 javascript 中使用 RegExp 提取段落标记之间的文本。但它不起作用......
我的模式:
<p>(.*?)</p>
主题:
<p> My content. </p> <img src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTJ9ylGJ4SDyl49VGh9Q9an2vruuMip-VIIEG38DgGM3GvxEi_H"> <p> Second sentence. </p>
结果:
My content
我想要什么:
My content. Second sentence.
【问题讨论】:
-
您可以使用正则表达式获得
<p>标签的正文(尽管通常会警告您使用它进行解析),但如果您使用的是 JavaScript,则无需这样做,因为您有document.getElementsByTagName("p"). -
@iamnotmaynard -
document.getElementsByTagName()是一种 DOM 方法。它仅对 JavaScript 可用,因为浏览器提供了它。使用 node.js,没有浏览器,并且 node.js 本身不会将 HTML 解析为 DOM。您不能仅仅因为使用 JavaScript 语言就假设浏览器 DOM 是可用的。如果安装了这样的包,则可以使 DOM 对 node.js 可用,例如 jsdom。 -
@gilly3 啊,我明白了。没有意识到这一点。
-
@gilly3,呵呵,不……又不是那么简单的通用答案-_-。对他想要的东西使用正则表达式是非常好的。
标签: javascript regex node.js express