Regex extract date and text after a value already found

I used matches function and found 1,040.00
Now i need extract two separate things through regex

  1. First date before 1,040 which is - 22 Jul
  2. Text between date (22 Jul) and amount (1,040) which is - Transfer from John XXX (i do not need $ sign to be extracted

Text example:
22 Jul Transfer from John XXX $1,040.00

Please help

@Vaka4life Use following Regex: Transfer(.*)(?= \$)