2

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

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

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

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

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

4

1 回答 1

12

您需要改为使用.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'
于 2013-04-18T15:46:17.230 回答