C# 带前导零的正则表达式
我需要通过正则表达式将文件列表中的文件名与数据库行相匹配C# 带前导零的正则表达式,c#,regex,C#,Regex,我需要通过正则表达式将文件列表中的文件名与数据库行相匹配 文件名是带前导零的数字 数据库值是没有前导零的数字 示例文件列表: 0001.jpg 0002.bmp ... 0012.bmp 0013.bmp 0014.jpg ... 1012.jpg ... 1015.jpg ... 我用C#。我需要将每个文件名与数据库中的每一行进行匹配。我有点不愿意回答,但为了匹配这些文件名(我猜您正在尝试这样做),您应该尝试:\d{4}\(jpg|bmp) 编辑: 0001.jpg 0002.b
- 文件名是带前导零的数字
- 数据库值是没有前导零的数字
0001.jpg
0002.bmp
...
0012.bmp
0013.bmp
0014.jpg
...
1012.jpg
...
1015.jpg
...
我用C#。我需要将每个文件名与数据库中的每一行进行匹配。我有点不愿意回答,但为了匹配这些文件名(我猜您正在尝试这样做),您应该尝试:
\d{4}\(jpg|bmp)
编辑:
0001.jpg
0002.bmp
...
0012.bmp
0013.bmp
0014.jpg
...
1012.jpg
...
1015.jpg
...
因为你对你的-1是如此的自由
正则表达式并不是解决编码问题的正确技术,正则表达式用于查找与模式匹配的字符串
您似乎描述的问题是,您的文件系统类型很差,不必要地添加了0,并且希望将4
转换为0004
,而不关心您的文件扩展名
解决您的问题的“最佳解决方案”是修复文件的编号系统,或者简单地在c#中添加前导的0,而不是使用旨在完成完全不同任务的技术
祝你玩得愉快 您可以使用这个正则表达式
^0+\d+[.](jpg|bmp|jpeg|exe)
或
您尝试的示例代码在哪里?因此您有一个包含文件名的表,但数据与文件名不完全匹配?你有什么问题?你想让它匹配吗?我用C#,但为什么重要呢?我需要一个正则表达式匹配字符串。我需要将每个文件名与数据库中的每一行匹配。您的示例与列表中的所有文件名匹配。例如,我需要将数据库中的56与文件列表中的0056.jpg相匹配,但不能与1056.jpg或0156.bmp相匹配。@Murat已编辑以满足您的需要。谢谢您的回答!但我需要查看所有数据库行,并将每一行仅与一个文件匹配。上面的示例与许多文件名匹配。@Murat编辑应该可以工作。。它将匹配lineAnirudh开头的所有文件名,例如,我的数据库中有一个数字字段,比如175,我需要将其插入正则表达式中以查找文件0175.*@Murat您可以按
0+175[.](jpg | bmp | jpeg | exe)的方式进行编辑
不幸的是,1175.jpg、2175.jpg和0175.jpg也会出现。但我需要数据库行和文件名之间的一对一连接。