如何在java中使用正则表达式捕获字符串中的内容

如何在java中使用正则表达式捕获字符串中的内容,java,html,parsing,Java,Html,Parsing,我想解析一个HTML表单,并提取任何嵌入图像的文件名 因此字符串可能看起来像: { 。。。 随机HTML内容 image1.png more random HTML content image3.png 。。。 } 根据上面的内容,我想用Java编写一个返回给我的函数 {image1.png,image3.png} 我有一个正则表达式,它只返回最后一个图像名(image3.png),但它忽略以前的图像名。我如何使用正则表达式捕获所有这些参数 如蒙惠顾,不胜感激 给个

我想解析一个HTML表单,并提取任何嵌入图像的文件名

因此字符串可能看起来像:

{ 
。。。 随机HTML内容

    image1.png 

 more random HTML content

    image3.png
。。。 }

根据上面的内容,我想用Java编写一个返回给我的函数 {image1.png,image3.png}

我有一个正则表达式,它只返回最后一个图像名(image3.png),但它忽略以前的图像名。我如何使用正则表达式捕获所有这些参数

如蒙惠顾,不胜感激

给个好提示。更具体地说,您可能正在寻找类似
[a-zA-Z0-9\-]+\(png | jpg | gif | jpeg | tif)

但是请注意,这是正则表达式,只查找字符序列。例如,如果您正在查看一个使用servlet提供动态图像的站点,并且资源URI没有以正常的图像文件扩展名(例如.jsp或.do)结尾,那么正则表达式将完全失败。它还将从匹配的任何文本中提取任何“图像名称”,这些文本实际上并不代表页面上的图像


为了正确地完成这项工作,您需要使用某种DOM并遍历
元素。(以及
元素,其类型可能为
image
…可能有更多的标记可以包含图像。)

这可能是最适合于解析API(如或)的任务。虽然正则表达式是一个强大的工具,但它已被反复证明不足以从真实的WWW HTML中提取信息。“可能有更多的标记可以包含图像。”背景图像。使用CSS,它们可以应用于各种元素+1表示“为了正确地完成工作,您需要使用某种DOM”(很抱歉,打破了您的4x4代表分数;)