使用Regex获取包含文件名的标记图像

时间:2016-06-21 18:31:23

标签: regex

我试图使用正则表达式获取具有特定文件名的图像:

我正在尝试这个:

/<img.+src=[\'"]([^\'"].+('myfilename.jpg').+[^\'"])[\'"].+\/>/

问题在于它将图像及其后的所有内容带回到另一个/>

我回来了:

<img alt="IMG_2329-1024x668" class="alignnone wp-image-10624" height="396" src="/sites/default/files/blog/wp-content/uploads/2015/11/IMG_2329-1024x668-1024x668.jpg" width="607" /> asdl;f jadsflja ds;fjadsf ;aklsdfj ads;flkjadsf;aldjsfadsf <br/>

而不是:

<img alt="IMG_2329-1024x668" class="alignnone wp-image-10624" height="396" src="/sites/default/files/blog/wp-content/uploads/2015/11/IMG_2329-1024x668-1024x668.jpg" width="607" />

1 个答案:

答案 0 :(得分:2)

那是因为.+贪婪,它会获得最长的匹配,而你希望它在第一场比赛时停止。

也许尝试添加一些?以使其非贪婪(注意:正则表达式方言依赖)

/<img.+?src=[\'"]([^\'"].+?('myfilename.jpg').+?[^\'"])[\'"].+?\/>/