Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我想用正则表达式像这样更改文件名_Python_Regex_Filenames - Fatal编程技术网

Python 我想用正则表达式像这样更改文件名

Python 我想用正则表达式像这样更改文件名,python,regex,filenames,Python,Regex,Filenames,我想用正则表达式像这样更改文件名 1-30330036.jpg change to 1-30330036 1-30330036-1.jpg change to 1-30330036 如何编写正则表达式 我已经解决了这个问题 txt=["30330036.jpg","1-30330036.jpg","1-30330036-1.jpg","1-30330036A.jpg"] regex=r"([\d+]-)?(\d+)(\w+)?(-[\d+])?.jpg" result=[re.searc

我想用正则表达式像这样更改文件名

1-30330036.jpg change to  1-30330036
1-30330036-1.jpg change to   1-30330036
如何编写正则表达式

我已经解决了这个问题

txt=["30330036.jpg","1-30330036.jpg","1-30330036-1.jpg","1-30330036A.jpg"]
regex=r"([\d+]-)?(\d+)(\w+)?(-[\d+])?.jpg"
result=[re.search(regex,s).group(2) for s in txt]
print(result)
输出:

['30330036', '30330036', '30330036', '30330036']

请提供您遇到问题的代码示例。您是否真的要重命名文件、删除扩展名并覆盖重复的文件名?但有时我们需要将此30330036.jpg更改为30330036,文件名可能是[a-z][“1-30330036A.jpg”、“1-30330036-1.jpg”、“30330036-1.jpg”、“30330036.jpg”]如何更改为30330036。30330036仅文件名,此文件名可能包含abc…@1pluszarau更新了我的答案,但仍然不确定您的实际输入和输出是什么!