FileNameFilter中用于排除特定文件的Java正则表达式模式
我想排除目录中文件名为[.*].[a-z]{3,4}.bak的所有文件。如果文件名是例如hello.txt或hello.xlsx,则应包括该文件名。我已经创建了一个模式^[^.]+\.[a-z]{3,4}$,它似乎对我的情况正确,但我需要确保上述模式的正确性。请告诉我是否有更好的模式来处理这种情况 要包括的有效案例文件: Hello.xls hello.xlsx 要排除的案例文件无效 hello.txt.bak hello.xlsx.bak 这对我有用 ^[^.]+[A-z]{3,4}?!.*。贝克 感谢Michal Ziober提供的工具FileNameFilter中用于排除特定文件的Java正则表达式模式,java,regex,Java,Regex,我想排除目录中文件名为[.*].[a-z]{3,4}.bak的所有文件。如果文件名是例如hello.txt或hello.xlsx,则应包括该文件名。我已经创建了一个模式^[^.]+\.[a-z]{3,4}$,它似乎对我的情况正确,但我需要确保上述模式的正确性。请告诉我是否有更好的模式来处理这种情况 要包括的有效案例文件: Hello.xls hello.xlsx 要排除的案例文件无效 hello.txt.bak hello.xlsx.bak 这对我有用 ^[^.]+[A-z]{3,4}?!.*。
你为什么不在regex的末尾加上bak?也请张贴一些有效的/无效的样本。使用工具编写和编写单元测试。是否考虑了文件名之类的东西?changed@PushpeshKumarRajwanshi要包含的有效案例文件Hello.xls Hello.xlsx要排除的无效案例文件Hello.txt.bakhello.xlsx.bak[A-z]包含的不仅仅是字母,请查看ASCII表以了解z和A之间存在什么