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

regex match file with multiple extension

我有几个这样的字符串

XYZ_TEST_2017.txt

ASD_TEST_2017.txt.tmp

我只需要提取那些以 .txt 结尾的字符串

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

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

但是我仍然得到像第二个一样具有多个扩展名的字符串 (.txt.tmp)

See my regex demo.

我该如何处理?

要让你的正则表达式匹配到最后的所有内容,请将 "end-of-text marker" ($) 添加到你的模式中,如下所示:

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

您可能已经注意到,我也将圆点转义了,否则此文件名也会匹配:

SOM_TEST_1234Etxt

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

之前