Фильтр регулярных выражений для узла списка файлов Knime сломан на \+ (плюс символ)

В узле List Files применяется фильтр регулярных выражений.

.*\+.*

или же

.*[+].*

отлично работал в Knime 3.3.2 (Windows 7, 64 бит). Сейчас я обновился до 3.4.2, и он создает пустую таблицу в том же каталоге с файлами, имеющими знак "+" в имени файла.

У меня есть обходной путь: я читаю весь каталог без какого-либо фильтра, и если я применяю узел Row Filter на основе правил с

$Column_name$ MATCHES .*\+.*

или же

$Column_name$ MATCHES .*[+].*

это работает, так что, похоже, специфическая проблема узла List Files.

Кто-нибудь имеет представление о том, почему фильтр регулярных выражений со знаком '+' не работает в узле List Files?

1 ответ

Решение

Вы можете попробовать свою фильтрацию с:

.*?%2[bB].*

(Я добавил ? для не жадного чтения после первого .*) %2B это + подписать URL в кодировке.

Такое поведение было вызвано

AP-7483: список файлов RegEx проверяет закодированный URL вместо пути к файлу

изменение в KNIME 3.4.

Другие вопросы по тегам