Dyalog's implementation is much more expressive than what I had proposed.
There are technical reasons why we have no hope of replicating their functionality (in particular, GNU APL does not have support for namespaces).
Their function takes arguments and returns a function, which is a matcher function that can be reused, which is useful since you'd only compile the regexp once. Jürgen, how can I make a quad-function behave like below? It seems to be similar in behaviour to ⍤ and ⍣.
('.at' ⎕R '\u0') 'The cat sat on the mat'
The CAT SAT on the MAT
It can also accept a function, in which case the function is called for each match, to return a replacement string. Can you explain how to make a quad-function an operator?
('\w+' ⎕R {⌽⍵.Match}) 'The cat sat on the mat'
ehT tac tas no eht tam
As you can see, they leverage namespaces in order to pass a lot of different fields to the replace-function. If we want to do something similar, ⍵ would probably have to be the match string, and we'll have to live without the remaining fields.