If you use a completion engine like Ivy, I think it allows regex searches, so yes, if you really wanted to now. Will need to otherwise design a good UX for tag/link filtering first.
I was thinking of of just repurposing org-mode’s existing tag system, but now that you mention it, it doesn’t do completion while you’re building a boolean search. Over thousands of org-roam notes, I can imagine that this could become almost necessary.
I am only exploring this feature, and so far I love it. I use it for categorisation (when it’s really needed) of notes. On the contrary, I use plain org tags for agenda searches.
As example, when I create a note for a person it usually contains roam tag “Person” and this persons name as a file tag (so all todos in this file are tagged with this persons name). Now in other places I can tag tasks with this persons name. So as a result I am able to use org agenda to search for stuff related to this person. As additional bonus all tasks from the person file also have a category with this name (I have a helper that properly reads category from roam files, e.g. trims the id).
So roam tag is not used in agenda, but when I see a note in the list, I clearly understand that it’s about some person
BTW, in order to save me manual editing of roam tags, I’ve create two helpers for adding and removing them. You can find it on GitHub.