我遇到了创建正则表达式的麻烦,该正则表达式检查文件是否具有扩展名.TMP,因此模式应该接受任何不等于(a-z 0-9或事件点)的字符串.TMP
要明确:当文件没有TMP扩展时,匹配器应该只有成功。
我已经发现我需要使用(?!表达式)来表示“不”......
(?!.*TMP]) // is wrong ;-)
答案 0 :(得分:10)
if (!filename.endsWith(".TMP")) {
/* then we found a match without using regExp */
}
答案 1 :(得分:5)
"(?<!\\.TMP)\\Z"
读取:除“.TMP”之外的其他内容,后跟字符串的结尾。
答案 2 :(得分:2)
这不是你问题的答案,但我认为你应该看看Apache Common IO,它有一些简单的方法,可以做你常做的一切。包括查找扩展名。然后你只需要制作一个if语句而不是一个reg。进出口。
并查看getExtension的特定java文档: getExtension JavaDoc