gpt4 book ai didi

java - 正则表达式匹配除图像名称和扩展名之外的所有内容

转载 作者:行者123 更新时间:2023-12-01 09:22:44 24 4
gpt4 key购买 nike

我有这个正则表达式 ((?:https?\:\/\/)(?:[a-zA-Z]{1}(?:[\w\-]+\.)+(?:[\w] {2,5}))(?:\:[\d]{1,5})?\/(?:[^\s\/]+\/)*(?:[^\s]+\.(?:png|jpe?g|gif|svg|PNG|JPE?G|GIF|SVG))(?:\?\w+=\w+(?:&\w+=\w+)*)?)

从字符串中选择这些图像 URL

http://my.a.example.com/kf/urjlsjjsXVXXq6xXFXXX6/20jaa/jajc1agiCJFXXXXb8XVXXq6xXFXXX6.jpg?size=158385&height=79&width=50&hash=13e12eaa837ae8341e35cbde5ea544a

https://example.com/imhgegg.png

我想要的是匹配除 jajc1agiCJFXXXXb8XVXXq6xXFXXX6.jpgmhgegg.png 之外的所有内容,即图像名称和扩展名。

请问可以实现吗?

编辑

我实际上是从在线获取的 json 文件中获取此链接的。我真正想做的是:

String regex; //regex to match everything except image name and extension.
String imageName = IMAGEURL.replaceAll(regex, "")

因此,如果我记录 imageName,我想获取 jajc1agiCJFXXXXb8XVXXq6xXFXXX6.jpgmhgegg.png

最佳答案

或者,如果您只是不在乎是否使用 RegEx:

所需导入:

import java.io.File
import java.net.MalformedURLException;
import java.net.URL;

代码:

URL url = new URL("http://my.a.example.com/kf/urjlsjjsXVXXq6xXFXXX6/20jaa/jajc1agiCJFXXXXb8XVXXq6xXFXXX6.jpg?size=158385&height=79&width=50&hash=13e12eaa837ae8341e35cbde5ea544a");

try {
String fileName = new File(url.getPath()).getName();
String urlWithNoFileName = url.toString().replace(fileName, "");
System.out.println("File Name within URL is: " + fileName);
System.out.println("URL with File Name removed:\n" + urlWithNoFileName);
}
catch (MalformedURLException ex) {
//Do what you want with Exception.
}

开销更大,但它确实有效,并且适用于没有扩展名的文件名。

关于java - 正则表达式匹配除图像名称和扩展名之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40057210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com