Skip to main content
 首页 » 编程设计

C# 复杂的正则表达式

2024年01月29日30soundcode

大家好,感谢您提供的所有帮助。我需要一点正则表达式帮助,这远远超出了我的知识范围。

我有一个包含文件名的列表框,例如 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