You don't want a regex for that! Despite my love for those magnificent beasts, they have their limitations and what you need requires properly parsing the data. Try
Lingua::EN::NameParse.
Cheers,
Ovid
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.