我有各种这样格式化的文件;
file_name_twenty_135032952.txt
其中file_name_twenty
是内容的描述,13503295
是id。
我想要两个不同的正则表达式;一种是从文件名中获取描述,一种是获取 ID。
以下是文件名遵循的一些其他规则:
- 文件名永远不会包含空格或大写字符
- id 总是紧跟在扩展名之前
- id 总是跟在下划线后面
- 描述有时可能包含数字;例如,在这个文件名中:
part_1_of_file_324980332.txt
,part_1_of_file
是描述,324980332
是 id。
我已经辛苦了一段时间,似乎无法找出一个正则表达式来解决这个问题。我正在使用 python,因此其正则表达式引擎的任何限制都遵循。
最佳答案
rsplit
一次下划线并从 id
中删除扩展名。
s = "file_name_twenty_13503295.txt"
name, id = s.rsplit(".",1)[0].rsplit("_", 1)
print(name, id)
file_name_twenty 13503295
关于python - 使用正则表达式隔离文件名中的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28973493/