我需要通过正则表达式将文件列表中的文件名与数据库行匹配。
- 文件名是带有前导零的数字
- 数据库值是没有前导零的数字
示例文件列表:
0001.jpg
0002.bmp
...
0012.bmp
0013.bmp
0014.jpg
...
1012.jpg
...
1015.jpg
...
我使用 C#。我需要将每个文件名与数据库中的每一行匹配。
你可以使用这个正则表达式
^0+\d+[.](jpg|bmp|jpeg|exe)
或者
^0+\d+[.]\S+
我有点不愿意回答,但为了匹配这些文件名(我认为你正在尝试这样做),你应该尝试:\d{4}\.(jpg|bmp)
编辑:
既然你对你的-1很自由..
正则表达式并不是真正用于解决编码问题的正确技术,正则表达式用于查找与模式匹配的字符串。
您似乎描述的问题是您的文件系统类型不佳,并且不必要地添加了 0,并且希望将 a 转换为(例如)4
而不0004
关心您拥有的文件扩展名。
解决问题的“最佳解决方案”是修复文件的编号系统,或者只是在 c# 中添加前导 0,而不是使用旨在做完全不同的事情的技术。
享受你的 -6。