今天又不服气了
发布时间: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); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |