Python匹配整个文件名,而不仅仅是扩展名
目标: 使用Python正则表达式返回具有特定文件扩展名的文件名列表 文件列表:Python匹配整个文件名,而不仅仅是扩展名,python,regex,Python,Regex,目标: 使用Python正则表达式返回具有特定文件扩展名的文件名列表 文件列表: bios_file = re.findall(r'.*\.(rom|[0-9]{3})+', name, re.I) X8SIA9.ROM X8SIA0.rom X8SIA0.928 Regex查找以*.ROM或3倍数字结尾的文件: bios_file = re.findall(r'.*\.(rom|[0-9]{3})+', name, re.I) 问题: bios_文件正在返回['ROM']、['ROM'
bios_file = re.findall(r'.*\.(rom|[0-9]{3})+', name, re.I)
- X8SIA9.ROM
- X8SIA0.rom
- X8SIA0.928
bios_file = re.findall(r'.*\.(rom|[0-9]{3})+', name, re.I)
问题:
bios_文件正在返回
['ROM']、['ROM']、[928]
。bios_文件应返回整个文件名['X8SIA9.ROM'],
等。如何返回完整的文件名而不仅仅是文件扩展名?您没有在组中捕获整个文件名。您还可以将非捕获组与(?:…)
一起使用
您没有捕获组中的整个文件名。您还可以将非捕获组与
(?:…)
一起使用
您没有捕获组中的整个文件名。您还可以将非捕获组与
(?:…)
一起使用
您没有捕获组中的整个文件名。您还可以将非捕获组与
(?:…)
一起使用
如何获取文件名?如何获取文件名?如何获取文件名?如何获取文件名?如何获取文件名?使用非捕获组是正确的方法。然而,有一个相对简单的正则表达式不使用组:
*\.rom.*\[0-9]{3}
。这在使用组与重复*\.
之间进行了权衡。使用非捕获组是正确的方法。然而,有一个相对简单的正则表达式不使用组:*\.rom.*\[0-9]{3}
。这在使用组与重复*\.
之间进行了权衡。使用非捕获组是正确的方法。然而,有一个相对简单的正则表达式不使用组:*\.rom.*\[0-9]{3}
。这在使用组与重复*\.
之间进行了权衡。使用非捕获组是正确的方法。然而,有一个相对简单的正则表达式不使用组:*\.rom.*\[0-9]{3}
。这在使用组与重复*.
之间进行了权衡。