How to use regexp in @filter

A good tactic to use in these situations is to use multiple query blocks with vars. See: Multiple Query Blocks with DQL - Query language

Basically the idea would be to first create a uid set of for your regexp results, then in a final block, filter the var results by workspace_key. That might be a solution, hard to know without actual data.