Your regex is currently describing a character class that finds a literal "?", "(", "." or ")" (because it's in square brackets "[...]" which means a character class).
Instead you want a literal question mark ("\?") followed by any character (".") zero or more times ("*"), or:
%globals_server_request_uri^replace:\?.*:%
but if %globals_asset_url% serves the right purpose it is generally better to avoid regex if you can help it :)