如何过滤所有由数字组成并以.jpg和/或_number.jpg结尾的名称?
背景资料:
在SSIS 2008中,我有一个foreach循环,它将文件名存储到所有jpg文件的变量中。文件的枚举器配置目前是:*.jpg
这将处理所有jpg文件。
代码是什么,所以它只会处理喜欢的名字?:
3417761506233.jpg
3417761506233_1.jpg
5414233177487.jpg
5414233177487_1.jpg
5414233177487_14.jpg
但不是这样的名字:
abc.jpg
abc123.jpg
def.png
456.png
顺便说一下,数字代表EAN代码。 我想到了这段代码:
\d|_|.jpg
但是SSIS会返回一个错误,说明文件(名称)位于文件夹中时没有符合条件的文件。
答案 0 :(得分:1)
答案 1 :(得分:1)
^(\d+(?:_\d+)?\.jpg$)
DEMO - > http://regex101.com/r/dM9rJ7
<强>匹配强>
3417761506233.jpg
3417761506233_1.jpg
5414233177487.jpg
5414233177487_1.jpg
5414233177487_14.jpg
<强>不包含:强>
abc.jpg
abc123.jpg
def.png
456.png
答案 2 :(得分:1)
您可以在循环中使用脚本任务来执行正则表达式过滤: http://microsoft-ssis.blogspot.com/2012/04/regex-filter-for-foreach-loop.html
或者您可以使用(免费)第三方调查员: http://microsoft-ssis.blogspot.com/2012/04/custom-ssis-component-foreach-file.html