首页 > 解决方案 > 在 FileNameFilter 中用于排除特定文件的 Java 正则表达式模式

问题描述

我想排除目录中文件名格式为[.*].[a-z]{3,4}.bak. 如果文件名是“hello.txt”或“hello.xlsx”,那么它应该被包括在内。我创建了一个^([^.]+)(\\.)([a-z]{3,4})$似乎适合我的情况的模式,但我需要确保上述模式的正确性。请让我知道是否有更好的模式来处理这种情况。

有效案例(要包括的文件):

无效案例(要排除的文件)

标签: javaregex

解决方案


这对我有用

^[^.]+.[Az]{3,4}(?!.*.bak)

感谢 Michal Ziober 提供的工具。

https://regex101.com/r/HBVs2p/3


推荐阅读