MS-Access 2007, заменить RegEx данными

У меня есть файл 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 и т. д.

Но когда я запускаю этот запрос, вывод не изменился, чем помочь?


person Vivek    schedule 06.04.2011    source источник
comment
Что вы имеете в виду, что регулярное выражение возвращает имя файла, но вывод не изменился? Вы имеете в виду, что данные в таблице Paths не изменились? Это то, что вы ожидали?   -  person MPękalski    schedule 06.04.2011
comment
Мой ожидаемый результат: \123_4.jpg, \1125_4.jpg и т. д., но я не получаю ожидаемого результата. Я использую внешний инструмент для проверки моего регулярного выражения, и он отлично работает   -  person Vivek    schedule 06.04.2011
comment
У меня нет Access 2007, поэтому мне трудно что-либо сказать о встроенной поддержке регулярных выражений в запросах. Вы можете попробовать использовать скрипт VBA, который я разместил в stackoverflow.com/questions/5539141/ Это позволит вам использовать регулярное выражение в запросе. В вашем случае код будет SELECT my_regexp(Path, "\\(\w*).(jpg)") AS FILENAME FROM Paths;. Если вы не боитесь VBA, возможно, вам стоит попробовать.   -  person MPękalski    schedule 06.04.2011
comment
Если вы хотите обновить базовые данные, вы должны использовать оператор UPDATE, а не SELECT. Кроме того, ваша функция Replace(), использованная выше, отличается от той, что используется в Access, поскольку ваши аргументы расположены в неправильном порядке и не могут использовать RegEx.   -  person David-W-Fenton    schedule 07.04.2011