0

我知道这个问题已经发布了很多次,并且我阅读了之前的所有问题。我找不到一种方法来完成这项工作。

我需要提取具有特定 id 的 img 标签的 src url。输入格式是 -

<img class"image" id="prdImage" width="277" height="400" alt="someimage" src="http://url/image.jpg"/>

src 属性总是最后一个,class 总是第一个。此外,此代码将位于一个大型 HTML 文档中。我只给出了相关部分。

到现在为止我所拥有的——

/<img class="image" id="prdImage".+?src="(.+?)".+?\/>/i

这工作正常,除了它返回整个 img 标签而不是只返回 src 属性;

注意:我知道在这种情况下我应该使用 DOM 解析器。但是对于这个项目,我只能使用正则表达式。

4

2 回答 2

1

尝试这个

(?<=<img.*?src=")(.*?)(?="/>)

该正则表达式将返回

http://url/image.jpg

从您的输入字符串

<img class"image" id="prdImage" width="277" height="400" alt="someimage" src="http://url/image.jpg"/>
于 2012-11-29T09:17:06.623 回答
0

我自己想出了答案。这是表达式

/<img class="image" id="prdImage"(.*?)src="(.*?)"\/>/i

这将返回一个数组,其中 url 在第二个位置。

我接受这个答案,因为我自己想通了。如果其他人有更好的解决方案,我会接受他们的回答。

于 2012-11-29T11:05:13.360 回答