繁体   English   中英

正则表达式:匹配除* .TMP之外的所有内容

[英]Regular expression: match everything except *.TMP

我在创建正则表达式时遇到麻烦,该正则表达式检查文件是否具有扩展名.TMP,因此该模式应接受任何不等于(az 0-9或事件点)的字符串。

需要明确的是:仅当文件没有TMP扩展名时,匹配器才应成功。

我已经发现我需要对(not)使用(?!expression)...

(?!.*TMP]) // is wrong ;-)
if (!filename.endsWith(".TMP")) {
     /* then we found a match without using regExp */
}
"(?<!\\.TMP)\\Z"

读取:“ .TMP”以外的其他内容,后跟字符串的末尾。

这不是您问题的答案,但我认为您应该看一下Apache Common IO,它具有许多简单的方法,可以完成您常用的所有操作。 包括查找扩展。 然后,您只需制作一个if语句而不是reg。 实验

http://commons.apache.org/io/

并查看getExtension的特定Java文档: getExtension JavaDoc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM