我知道这个问题已经发布了很多次,我读完了之前的所有问题。我找不到办法让这项工作。
我需要提取具有特定id的img标记的src url。输入格式为 -
<img class"image" id="prdImage" width="277" height="400" alt="someimage" src="http://url/image.jpg"/>
src属性始终是最后一个,类始终是第一个。此外,此代码将位于大型HTML文档中。我只给了相关部分。
我到现在为止 -
/<img class="image" id="prdImage".+?src="(.+?)".+?\/>/i
这是正常工作,除了它返回整个img标记而不是仅返回src属性;
注意:我知道在这种情况下我应该使用DOM解析器。但对于这个项目,我只能使用正则表达式。
答案 0 :(得分:1)
试试这个
(?<=<img.*?src=")(.*?)(?="/>)
正则表达式将返回
http://url/image.jpg
来自输入字符串
<img class"image" id="prdImage" width="277" height="400" alt="someimage" src="http://url/image.jpg"/>
答案 1 :(得分:0)
我自己想出了答案。这是表达式
/<img class="image" id="prdImage"(.*?)src="(.*?)"\/>/i
这将返回一个数组,其中url位于第二个位置。
我接受了这个答案,因为我自己弄清楚了。如果其他人有更好的解决方案,我会接受他们的回答。