Python匹配整个文件名,而不仅仅是扩展名

时间:2015-06-22 20:00:52

标签: python regex

目的: 使用Python正则表达式返回具有特定文件扩展名的文件名列表。

文件列表:

  • X8SIA9.ROM
  • X8SIA0.rom
  • X8SIA0.928

正则表达式查找以* .ROM或3x数字结尾的文件:

select distinct ?person where {
  ?person a dbpedia-owl:Person ;
          dbpedia-owl:birthPlace/dbpedia-owl:country? dbpedia:Portugal
}

问题: bios_file正在返回bios_file = re.findall(r'.*\.(rom|[0-9]{3})+', name, re.I) 。 bios_file应该返回整个文件名['ROM'], ['rom'], [928]等。如何返回完整的文件名而不仅仅是文件扩展名?

1 个答案:

答案 0 :(得分:3)

您没有捕获组中的整个文件名。您还可以使用(?:...)的非捕获组。

.*\.(rom|[0-9]{3})+ # from this
(.*\.(?:rom|[0-9]{3})) # to this