java - 正则表达式匹配文件扩展名

标签 java regex

我的文件名用冒号分隔 :

这个正在按预期工作

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";

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

最佳答案

更改模式以查找 : 或结尾 $:

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

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

关于java - 正则表达式匹配文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45651438/

相关文章:

java - hibernate hbm2ddl.auto 默认值

Python 正则表达式;替换部分比赛

java - 如何在 Java 代码中制作输入表单(不是使用 JForm 的 Netbeans)?

regex - 在 Vim 中使用 Tabular 插件时如何忽略包含花括号的行?

regex - Sed 子表达式未按预期工作

regex - 如何为没有数字的行匹配正则表达式?

regex - 我们如何将正则表达式转换为 ANTLR 4 表达式

java - Android Studio 从 GitHub API 请求返回异常

java - Hibernate 检索父/子

java - 从浏览器访问 Web 服务