I think it's important to pause and think here. I believe Raccoon suggested that $regsubex gets this feature from $regsub because he thought it couldn't preserve spaces otherwise, not for any other reasons, so changing it to work like $regsub would not solve the 'space problem'.
There is one thing left which one could argu about: there's no way to know how many matches/replacements were made in $regsubex. And it's not everyday that you want to know the number of matches when replacing with regex.


$regsub does that, so it's possible to extend $regsub to work more like $regsubex but that seems wrong; why improving the old $regsub?

I'm not a fan of adding a new identifier just for getting the number of replacement made either (although $regsubexed(optional_name) like a $filtered, sounds more attracting than improving $regsub to me).

To me, these solutions are not really great because they illustrate some issues in the current regex functions/implementations. For example there is no way to get the full match, which I think is an important lack of informations, it may be available using a capturing group on the whole pattern but this may not be doable in some situations.

Perhaps $regmlex() could be including a .full property as well as a .matches property:

Code:
noop $regsubex(name,ab-cd-de,/[a-z]+/g,)

 $regmlex([name],[N]).full   
 ;assume N = 1 if not specified, return the full match for the Nth match, here "ab"

 ;
 $regmlex([name]).matches    -return the number of matches, here 3


#mircscripting @ irc.swiftirc.net == the best mIRC help channel