2011-04-06 61 views
1

我有一个MS-Access 2007文件和列,我试图取代的输出,该列包含像数据:MS-Access 2007中,替换正则表达式与数据

\\sad\images\Components\12\123_4.jpg 
\\sad\images\Components\112\1125_3.jpg 

我的查询

SELECT REPLACE(Path, "\\(\w*).(jpg)", "") AS FILENAME FROM Paths; 

正则表达式识别并返回文件名如\ 123_4.jpg,\ 1125_3.jpg等

但是当我运行此查询,输出没有改变,任何帮助吗?

+0

你是什么意思正则表达式返回文件名,但输出没有改变?你的意思是表格路径中的数据没有改变?那是你所期望的? – 2011-04-06 10:10:52

+0

我的预期输出是\ 123_4.jpg,\ 1125_4.jpg等,但我没有按预期得到它。我正在使用一个外部工具来验证我的正则表达式,并且工作正常 – Vivek 2011-04-06 10:12:15

+1

我没有自己的Access 2007,所以我很难说任何有关查询中对regexp的本机支持。你可以尝试使用我发布在http://stackoverflow.com/questions/5539141/microsoft-office-access-like-vs-regex-question/5539504#5539504上的VBA脚本它可以让你使用正则表达式一个问题。在你的情况下,代码将是'SELECT my_regexp(Path,“\\(\ w *)。(jpg)”)AS FILENAME FROM Paths;'。如果你不害怕VBA,也许你应该试试看。 – 2011-04-06 10:21:51

回答