我是正则表达式的新手,但我相信这是我解决方案的方法.我正在尝试使用任意HTML代码段并自定义图像标记.例如,
如果我有这个HTML代码:
<><><><><img src="blah.jpg"><><><><><><><><img src="blah2.jpg"><><><>
我想把它变成:
<><><><><img src="images/blah.jpg"><><><><><><><><img src="images/blah2.jpg"><><><>
我现在的守则是这样的:
Pattern p = Pattern.compile("<img.*src=\".*\\..*\"");
Matcher m = p.matcher(htmlString);
boolean b = m.find();
String imgPath = "src=\"images/";
while(b)
{
//Get file name.
String name="test.jpg\"";
//Assign new path.
m.group().replaceAll("src=\".*\"",imgPath+name);
}
Run Code Online (Sandbox Code Playgroud)
正则表达式不是解析HTML的正确方法. 不要这样做.这是不可能做到正确的.
Document doc = Jsoup.parse(someHtml);
Elements imgs = doc.select("img");
for (Element img : imgs) {
img.attr("src", "images/" + img.attr("src")); // or whatever
}
doc.outerHtml(); // returns the modified HTML
Run Code Online (Sandbox Code Playgroud)