Following other suggestions ...
this expression will ensure that word 3 is the last word in the string (forward look for "and then end-of-string), but allows any characters for your words except single and double quotes.
('[^']+?')\s+([^"]+?(?>"))$
source
share