我有几个这样的文件,llm_rc_v3212.xml, llm_ds_v3232.xml
。
名字可以是任何东西。但是,常用参数为_v3212
。我想匹配这个数字并替换它(理想情况下重命名文件)。
我如何将这种模式与正则表达式相匹配?我正在尝试使用re.sub
,但还不知道。
任何帮助将不胜感激。
答案 0 :(得分:1)
这是一个工作示例。请注意,根据其他文件名,可能需要更改正则表达式。
import re
FILENAME_VERSION_REGEX = re.compile(r'_v(\d)+')
def rename(filename, replacement):
full_replacement = r'_v{}'.format(replacement)
new_filename = FILENAME_VERSION_REGEX.sub(full_replacement, filename)
return new_filename
使用您提供的文件名进行测试:
>>> rename('llm_rc_v3212.xml', 1)
'llm_rc_v1.xml'
>>> rename('llm_ds_v3232.xml', 2)
'llm_ds_v2.xml'
>>> rename('llm_v232_uc.xml', 3)
'llm_v3_uc.xml'