I don't find a good regular expression for my problem.

I can have these strings:

* Lastname^Firstname^MiddleName^Prefix^Suffix
* Lastname^Firstname^^^
* Lastname^Firstname

I search a regex to find just the Lastname.
And another regex to find just the Firstname.

I have tried `[a-zA-Z'' -]{1,}`
and `(?<=\^)(.*?)(?=\^)` but I have no regular expression which matches all my cases.

Lastname regex, must return the string before the first character '^'.
Firstname regex must return the string after the first character '^' and stop at the end of the string or at the next character '^'.

For the moment I haven't need to retrieve the MiddleName, Prefix and Suffix.