用于查找不包含某些字符的文本的负正则表达式

时间:2017-06-30 23:06:33

标签: java regex groovy

什么是正则表达式"找到所有带有以下文字但不以.zip或.md5结尾的文件"

所以我有3个文件:

test-2016-123.zip......zip file
test-2016-123..........directory file
test-2016-123.MD5......checksum file

我想选择中间文件test-2016-123,并希望忽略包含.zip或.md5等文件扩展名的文件。

实现这一目标的正则表达式是什么?

到目前为止,我有这样的事情:

test-*+[^.\]

但这显然不起作用。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

试试这个(^test).((?!(zip|md5)$).)*$

答案 1 :(得分:1)

我不是Regex的专家,但如果有像.txt,.pdf这样的文本,(^test).((?!(zip|md5)$).)*$中的任何其他扩展都会匹配 在这种情况下你可以使用这个 试试这个

^test-(\w+\-(\w+)$)

这将忽略所有扩展并给你正确匹配..