2017-08-12 225 views
1

我有冒号分隔的文件名:正则表达式匹配的文件扩展名

这一个工作正常

String fileName = "test.pdf:test1.txt:test2.png:test3.jpg:test4.jpeg:test5.doc"; 
String ext = "pdf"; 
System.out.println(fileName.matches(".*\\b\\."+ext+":\\b.*")); 

但是当一个匹配的文件是在年底,上述解决方案不起作用

String fileName = "test1.txt:test2.png:test3.jpg:test4.jpeg:test5.doc:test.pdf"; 

什么是实现它的正则表达式?

回答

2

换着花样来寻找:或结束$

".*\\." + ext + "(:|$).*" 

(另外,我删除了不必要的\\b。)

+0

现货!谢谢 –

0

您可以使用模式和匹配。

Pattern pdfPattern = Pattern.compile("\\.pdf"); 
if(pdfPattern.matcher(fileName).find()){ 
    System.out.println("Found PDF"); 
} 
相关问题