加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

今天又不服气了

发布时间:2020-12-14 01:48:24 所属栏目:百科 来源:网络整理
导读:今天一群里的人求一正则 要提取img的图片 Stringimg="[img:/4ae190d0-71b3-4122-b2a0-45a0a16c9ae1.jpg]"; 我说不用正则直接substring来得更快 他又说有很多 Stringimg="[img:/4ae190d0-71b3-4122-b2a0-45a0a16c9ae5.png],[img:/4ae190d0-71b3-4122-b2a0-45a

今天一群里的人求一正则 要提取img的图片

Stringimg="[img:/4ae190d0-71b3-4122-b2a0-45a0a16c9ae1.jpg]";

我说不用正则直接substring来得更快

他又说有很多

Stringimg="[img:/4ae190d0-71b3-4122-b2a0-45a0a16c9ae5.png],[img:/4ae190d0-71b3-4122-b2a0-45a0a16c9ae5.png][img:/4ae190d0-71b3-4122-asfdb2a0-45a0a1[img:/4ae190d0-71b3-4122-b2a0-45a0a16c9ae5.png]6c9ae5.png][img:/4ae190d0-71b3-4122-b2a0-asdfas45a0a16c9ae5.png][img:/4ae190d0-71b3-4122-b2a0-45a0a16c9ae5.png]hljkfask卡累计'跌'幅%.kajd/卡,[img:/4ae190d0-71b3-4122-b2a0-45a0a16c9ae5.png]拉,三"等"奖其他的内容[img:/49211e5d-daeb-484d-bafe-264c5739b4f0.bmp],hljkfask卡累计跌幅卡拉,三"等"奖其他的内容[img:/49211e5d-daeb-484d-bafe-123456789110.jpg],";

我就斗气说也很简单啊,于是他就叫我写一个出来,于是我想了一下就写了一个

出去不必要的代码 主要代码也就3行

publicstaticvoidmain(String[]args){
Stringimg="[img:/4ae190d0-71b3-4122-b2a0-45a0a16c9ae5.png],";
while(img.indexOf("[")!=-1){
Stringurl=img.substring(img.indexOf("["),img.indexOf("]")+1);
System.out.println(url.substring(6,url.length()-1));
img=img.replace(url,"");
}
}

后来他又说有问题,字符串中间还有可能有其他的东西

比如

Stringimg="[img:/4ae190d0-71b3-4122-b2a0-45[img:/4ae190d0-71b3-4122-b2a0-45a0a16c9ae5.png]a0a16c9ae5.png]";

他说还是用正则靠谱。

对于这样的情况,了解到可能存在的情况后,修改一下代码就可以了,主要也是3行代码

publicstaticvoidmain(String[]args){
Stringimg="[img:/4ae190d0-71b3-4122-b2a0-[img:/4ae1[im[img:/1123.jpg]g:/1.jpg]90d0-71b3-4122-b2a0-45a0a16c9ae1.jpg]45a0a16c9ae1.jpg]";
while(img.indexOf("[")!=-1){
Stringurl=img.substring(img.substring(0,img.indexOf("]"))
.lastIndexOf("["),"");
}
}

他用的正则是5行 并且处理范围能力非常有限的 如果后缀名变了 或者图片名字的长度变了 或者嵌套多了 都无能为力的。

他的正则

publicstaticvoidmain(String[]args){
Stringimg="[img:/4ae190d0-71b3-4122-b2a0-[img:/4ae1[im[img:/1123.jpg]g:/1.jpg]90d0-71b3-4122-b2a0-45a0a16c9ae1.jpg]45a0a16c9ae1.jpg]";
Stringregx="[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}.(gif|png|jpg|jpeg|bmp)";
Patternp=Pattern.compile(regx);
Matcherm=p.matcher(img);
while(m.find()){
Stringurl=m.group();
System.out.println(url);
}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读