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.