java中使用正则表达式将图片标签中的style标签去除 50
<imgsrc=file/img/2016/12-28/1234-25521482893088459.jpg"title="1234.jpg"alt=""width="3...
<img src=file/img/2016/12-28/1234-25521482893088459.jpg" title="1234.jpg" alt="" width="396" height="271" style="width: 396px; height: 271px;"/>
替换为:
<img src=file/img/2016/12-28/1234-25521482893088459.jpg" title="1234.jpg" alt="" width="396" height="271" />
请写明详细的过程 展开
替换为:
<img src=file/img/2016/12-28/1234-25521482893088459.jpg" title="1234.jpg" alt="" width="396" height="271" />
请写明详细的过程 展开
3个回答
展开全部
Java正则表达式 (<img.*?)style=\".*?\" 替换成 $1
其中.*表示0个或0以上多个任意字符
.*?表示0个或0以上多个任意字符的非贪婪匹配,就是假如一个句子中有多个style,它匹配距离最近的那个style,同理后面的.*?匹配距离最近的双引号
$1表示反向引用,它代表的是正则表达式中的第一个小括号所括起来的分组的内容,如果有两个小括号括起来的内容,则分别用$1,$2表示它们(在替换后的字符串中)
完整的Java程序如下
public class CC {
public static void main(String[] args) {
String s="<img src=\"file/img/2016/12-28/1234-25521482893088459.jpg\" title=\"1234.jpg\" alt=\"\" width=\"396\" height=\"271\" style=\"width: 396px; height: 271px;\"/>";
System.out.println(s.replaceAll("(<img.*?)style=\".*?\"", "$1"));
}
}
运行结果
<img src="file/img/2016/12-28/1234-25521482893088459.jpg" title="1234.jpg" alt="" width="396" height="271" />
展开全部
public static void main(String[] args) {
String regex = "style=\".*\"";
String s = "<img src=file/img/2016/12-28/1234-25521482893088459.jpg\" title=\"1234.jpg\" alt=\"\" width=\"396\" height=\"271\" style=\"width: 396px; height: 271px;\"/>";
Pattern parrten = Pattern.compile(regex);
Matcher m = parrten.matcher(s);
if(m.find()){
System.err.println(m.group());
System.out.println(s.replaceAll(regex,""));
for (int i = 0; i <= m.groupCount(); i++) {
System.err.println(m.group(i));
}
}else{
System.err.println("error");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
str=str.replace(/style=\"\d*\"/gi,'');//替换掉以style=" 开头,以"结尾,中间匹配任何字符;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询