使用正则表达式捕获<img>标签的src值

问题描述 投票:0回答:4
regex image html-parsing text-extraction
4个回答
28
投票

您可以简单地使用此表达式来匹配 img 标签,如示例所示:

<img([\w\W]+?)/>

21
投票

您的正则表达式与字符串不匹配,因为它缺少结束语

/

编辑 - 不,

/
不是必需的,所以你的正则表达式应该可以工作。但你可以像下面这样放松一点。

稍作修改:

 <img\s[^>]*?src\s*=\s*['\"]([^'\"]*?)['\"][^>]*?>

10
投票

请注意,出于各种原因,您不应该使用正则表达式来解析 HTML

<img\s+[^>]*src="([^"]*)"[^>]*>

或使用

Jsoup
...

String html = "<img class=\"img\" src=\"https://fbcdn-photos-c-a.akamaihd.net/
               hphotos-ak-frc3/1239478_598075296936250_1910331324_s.jpg\" alt=\"\" />";

Document doc = Jsoup.parse(html);
Element img = doc.select("img").first();
String src = img.attr("src");

System.out.println(src);

1
投票

我面临同样的情况,我尝试了这个,它对我有用。

(<img)[^/>]*(/>|>)

解释如下:

Image for the explanation of above regex

此解释来自网站https://extendsclass.com/regex-tester.html

© www.soinside.com 2019 - 2024. All rights reserved.