$asdf = 'aaa bbb cc"c ddd eee'
$as = StringRegExpReplaceCallback($asdf , "aaa|bbb|ccc" , "upper")
MsgBox(0 ,"Callback?", $as)
Func StringRegExpReplaceCallback($string , $pattern , $callback)
Return StringReplace(Execute('"' & StringRegExpReplace(StringReplace($string , '"' , "\x22") , $pattern , StringFormat('" & %s("\0") & "' , $callback)) & '"') , "\x22" , '"')
EndFunc
Func upper($text)
Return StringUpper($text)
EndFunc
This works just fine for my scripts