2017-08-12 233 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"); 
} 
相關問題