大家好,感谢您提供的所有帮助。我需要一点正则表达式帮助,这远远超出了我的知识范围。
我有一个包含文件名的列表框,例如 3123~101,这是一个包含 1 行文本的分隔文件。我需要在文本文件中最后一个“-”之前的最后一个“\”之后对所有内容进行正则表达式。结尾的遗嘱可以包含一个前缀,然后是###{####-004587}.txt ~ 公式是{### + ~# -1。
文件名: 3123~101 所以示例 1: 3123|X:目录\路径\目录|Pre0{0442-0500}.txt
结果: X:\directory\Path\Directory\Pre00542.txt
文件名: 3123~101 所以示例 1: 3123|X:目录\路径\目录|0{0442-0500}.txt
结果: X:\directory\Path\Directory\00542.txt
请您参考如下方法:
根据您的示例,我创建了以下正则表达式:
\|(.)(.*)\|(.*)\{\d{2}(\d{2})\-(\d{2}).*(\..*)
结果应该是这样的:
group1 + "\\" + group2 + "\\" + group3 + group5 + group4 + group6
如果您不满意,可以随时自己试一试 here .
编辑:
在记住我关于命名组之后:
\|(?<drive>.)(?<path>.*)\|(?<prefix>.*)\{\d{2}(?<number2>\d{2})\-(?<number1>\d{2}).*(?<extension>\..*)
drive + "\\" + path + "\\" + prefix + number1 + number2 + extension
