如何利用java正则表达式匹配路径中的文件名 D:\PjlWorkspace\monitor\ts\app-shangdu.xml 谢谢

请问下,如何利用java正则表达式匹配路径中的文件名 D:\PjlWorkspace\monitor\ts\app-shangdu.xml 谢谢
最新回答
风起半山

2024-04-18 18:05:47

/**
* @author eatonfang
* @version 1.0
*
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// System.out.println()
String str1 = "D:/PjlWorkspace/monitor/ts/app-shangdu.xml";
String str2 = "app-shangdu.xml";
String regex = "[^(/|\\|\\\\|//)]+\\.[^(/|\\|\\\\|//)]+";
System.out.println(str2.matches(regex));
System.out.println(str1.replaceAll(regex, "name"));
}
}
运行结果:
true
D:/PjlWorkspace/monitor/ts/name

如果路径分隔符只有/一种可能的话,就可以这样写: [^/]+\\.[^/]+
我是考虑到路径分隔符还可以写成\, \\, //, 这几种可能,所以才写成那样子的
小面包

2022-08-23 21:28:37

[^\t\n\r?*/\\]+(\.[^\t\n\r?*/\\]+)?$