我有以下文件名:
ABC 14-15 PCEE qwerty checklist - checked by XYZ IDFFCFYYL-01 BB.xlsx
我使用以下正则表达式来测试文件是否具有XLSX
扩展名:
String filename = "ABC 14-15 PCEE qwerty checklist - checked by XYZ IDFFCFYYL-01 BB.xlsx";
private static final String checkXLSXfile = "([^\\s]+(\\.(?i)(xlsx))$)";
private static final Pattern pattern = Pattern.compile(checkXLSXfile);
if (pattern.matcher(filename).matches()) {
System.out.println("Heaven");
}
else {
System.out.println("HELL");
}
但是,此文件名的模式失败。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:3)
为什么不使用String.endsWith(String)方法?
if(filename.toLowerCase().endsWith(".xlsx"))
{
// Do something
}
else
{
// Do something else
}
答案 1 :(得分:0)
这是我在jshell中所做的测试
jshell> Matcher xlsMatcher = xlsPattern.matcher(“ ABC 14-15 PCEE qwerty清单-由XYZ IDFFCFYYL-01 BB.xlsx检查”);
xlsMatcher ==> java.util.regex.Matcher [pattern =(?i).xlsx $ region = 0,69 lastmatch =]
jshell> System.out.println(“ find” + xlsMatcher.find());
找到真实的