The problem is that the back-reference is only evaluated in the RegExp function. Using an example: StringRegExpReplace('Hello', '(.*)', StringLower('\0')) StringLower only receives '\0', so performs a case lowering operation on that string (which is irrelevant for those characters of course) and returns it. StringRegExpReplace then receives '\0' from StringLower, and StringRegExpReplace turns it into 'Hello'. At the moment, there is no way to dynamically alter the data In PHP there is a functi