It depends a bit on how stable the structure of the text is (meaning how likely some portions of the text are going to change).
Assuming the (UXXX) part maybe refers to a user or transaction and XXX refers to masked characters, we could reason that (UXXX will always be in this format and will always follow the amount you want to extract).
With that assumption, the following regex could work:
\S+(?=\s\(UXXX)
Basically we’re looking for a series of non-space characters, followed by one space and (UXX. The space and (UXX are excluded from the match result via the positive lookahead (?= )