比如说我有一个文件的全路径
[code="java"]String fullName = "/home/misJ/tmp/May/data/test.xml";[/code]
然后我想用正则表达式匹配出他的文件名
[code="java"]String fileName = "test.xml";[/code]
怎样些正则表达式?我写的好像不行,如果有好的欢迎分享,或者顺便帮忙看下我出的问题。
[code="java"]Matcher m = Pattern.compile("/.+?$").matcher(fullName );
if(m.find()) {
return fileName.substring(m.start(),m.end()).replace("/","");
}else {
return "";
}[/code]
[quote]里面的表达式能稍微解释一下吗? [/quote]
[color=blue][^/\\]+[/color] 就是除了"/"和"\"外的字符一或多个,最后的"$"不用解释了吧 :D
[^/]+..+
[code="java"]
public static void main(String[] args) {
String fullName = "/home/misJ/tmp/May/data/test.xml";
Pattern pattern = Pattern.compile("[^/\\]+$");
Matcher matcher = pattern.matcher(fullName);
if(matcher.find()) {
System.out.println(matcher.group());
}
}
[/code]
最好自己再测一下其他情况。