Search code examples
regexknime

Knime List Files node regex filter broken on \+ (plus character)


In the List Files node applying regular expression filter

.*\+.*

or

.*[+].*

was working perfectly in Knime 3.3.2 (Windows 7, 64 bit). I have right now upgraded to 3.4.2, and it creates empty table on the same directory with files having '+' sign in file name.

I have a workaround: I read the entire directory without any filter, and if I apply Rule-based Row Filter node with

$Column_name$ MATCHES .*\+.*

or

$Column_name$ MATCHES .*[+].*

it works, so it seems a List Files node specific issue.

Does anybody has any idea why regex filter with '+' sign broken in List Files node?


Solution

  • You can try your filtering with:

    .*?%2[bB].*
    

    (I have added the ? for non-greedy reading after the first .*) %2B is the + sign URL encoded.

    This behaviour was caused by the

    AP-7483: List Files RegEx checks encoded URL instead of file path

    change in KNIME 3.4.