具有多个扩展名的正则表达式匹配文件

时间:2017-03-30 08:47:17

标签: regex filenames

我有几个像这样的字符串

XYZ_TEST_2017.txt

ASD_TEST_2017.txt.tmp

我只需要提取那些以.txt

结尾的字符串

所以我正在使用这个正则表达式:

[A-Z]{3}_TEST_[0-9]{4}.txt

但是我仍然可以获得具有多个扩展名的字符串,例如第二个(.txt.tmp)

See my regex demo

我该如何处理?

1 个答案:

答案 0 :(得分:0)

要让你的正则表达式匹配所有内容直到最后,请附加一个"文本结束标记" ($)对你的模式如下:

[A-Z]{3}_TEST_[0-9]{4}\.txt$

你可能已经注意到了,我也逃过了点,否则这个文件名也会匹配:

SOM_TEST_1234Etxt

点(.)将匹配任何字符(取决于您的标志,甚至换行符和回车符),在这种情况下,E之前txt }}