Python正则表达式与文件扩展名匹配

时间:2013-04-18 15:44:39

标签: python regex

我想使用Python正则表达式实用程序来查找具有此模式的文件:

000014_L_20111026T194932_1.txt
000014_L_20111026T194937_2.txt
...
000014_L_20111026T194928_12.txt

所以我想要的文件有一个下划线'_'后跟一个数字(1位或更多位数),然后是'.txt'作为扩展名。我使用了以下正则表达式,但它与上述名称不匹配:

match = re.match('_(\d+)\.txt$', file)

与文件名匹配的正确正则表达式应该是什么?

1 个答案:

答案 0 :(得分:9)

您需要使用.search()代替; .match()锚定到字符串的开头。你的模式不错:

>>> re.search('_(\d+)\.txt$', '000014_L_20111026T194928_12.txt')
<_sre.SRE_Match object at 0x10e8b40a8>
>>> re.search('_(\d+)\.txt$', '000014_L_20111026T194928_12.txt').group(1)
'12'