返回logging.jar的正则表达式。路径可以包含不同级别的深度。
我想我需要使用'。'操作员但不确定如何处理不同数量的斜杠?
以下两个测试用例都应该返回logging.jar
C:/proj/test/tester/base/logging.jar
C:/proj/test/tester/base/leveldeeper/logging.jar
答案 0 :(得分:1)
没有正则表达式的解决方案
String path = "C:/proj/test/tester/base/leveldeeper/logging.jar";
String splitPath[] = path.split("/");
System.out.println("Jar File name: " + splitPath[splitPath.length - 1]);
答案 1 :(得分:0)
/([^/]+\.jar)$/
会在第一个捕获组中为您提供结果。
答案 2 :(得分:0)
.*/([^\\.]*)\\..*
在第1组中,您将获得file.extension的名称无关紧要。
如果您只想获取jar文件的名称,请使用以下模式:
.*/([^\\.]*)\\.jar
.*
是一个贪婪的正则表达式,它会匹配到最后 /
。在/
之后,只有文件的名称带有扩展名,你只需要得到它的名字。 [^\\.]*
也很贪婪,并且会匹配到最后点(.
),实际上你需要的是因为最后一个点是扩展名分隔符。