java将<img>替换为字符串中的<img></img>
我想用字符串中的结束<img></img>
标记替换每个<img>
标记。字符串实际上是一个html文档,其中img标记由我生成,并且始终如下所示:
<img src="some_source.jpg" style="some style attributes and values">
Src是用户输入,所以它可以是任何内容。
我做了一个正则表达式,不确定是否正确,因为这是我第一次使用它,但经过测试它是有效的。问题是我不知道如何保存src
的内容
/<img\ssrc=".+?"\sstyle=".+?">/g
但是我很难替换字符串中的标记
我得到的只是这个:
Pattern p = Pattern.compile("/<img\\ssrc=\".+?\"\\sstyle=\".+?\">/g");
Matcher m = p.matcher(str);
List<String> imgStrArr = new ArrayList<String>();
while (m.find()) {
imgStrArr.add(m.group(0));
}
Matcher m2 = p.matcher(str);
# 1 楼答案
您不必使用Pattern和Matcher类,您可以使用以下常规替换方法:
IdeOne working demo
# 2 楼答案
可以使用以下正则表达式进行匹配:
并替换为
$1</img>
代码:
编辑:考虑@MarcusMüller的建议,你可以做以下事情:
正则表达式:
(<img[^>]+)>
替换为
$1/>
代码: