下面的代码试图根据双字符从目录中检索文件名:
import re
string = 'I:/Etrmtest/PZMALIo4/ETRM841_FX_Deals_Restructuring/FO_PRE\\abo_st_gas_dtd.csv'
pattern = r'(?<=*\\\\)*'
re.findall(pattern,string)背后的理由是,文件的名称总是在double \之后,所以我尝试查找任何字符串,该字符串被任何以\结束的文本所取代。
从无到有,当我应用此代码时,会得到以下错误:
error: nothing to repeat at position 4我做错了什么?
编辑:,我正在寻找的具体输出是将字符串'abo_st_gas_dtd_csv'作为匹配。
发布于 2021-11-01 09:55:50
您的模式只是一个外观,它本身无法与任何东西相匹配。我将使用这种re.findall方法:
string = 'I:/Etrmtest/PZMALIo4/ETRM841_FX_Deals_Restructuring/FO_PRE\\abo_st_gas_dtd.csv'
filename = re.findall(r'\\([^.]+\.\w+)$', string)[0]
print(filename) # abo_st_gas_dtd.csvhttps://stackoverflow.com/questions/69795170
复制相似问题