Expression |
(^\s*(?<firstname>(?!st\.?\s+)\w+\S*)\s+(?<middlename>(?!st\.?\s+)\w+\S*)\s+(?<lastname>(st\.?\s+)?\w+[^, ]*)(?:(,| ))*\s+(?<suffix>\w+\S*)\s*$)|(^\s*(?<firstname>(?!st\.?\s+)\w+\S*)\s+(?<lastname>(st\.?\s+)?\w+\S*)\s+(?<suffix>(jr)|(sr)|(ii)|(iii)||(iv)|(v)|(vi)|(vii)|(viii))\s*$)|(^\s*(?<firstname>(?!st\.?\s+)\w+\S*)\s+(?<middlename>(?!st\.?\s+)\w+\S*)\s+(?<lastname>(st\.?\s+)?\w+\S*)\s*$)|(^\s*(?<firstname>(?!st\.?\s+)\w+\S*)\s+(?<lastname>(st\.?\s+)?\w+\S*)\s*$)|(^\s*(?<lastname>(st\.?\s+)?\w+\S*)\s*$) |
Description |
Matches parts of a name. Last name only; first and last names; first, middle, and last names; first, middle, and last names and suffix; first and last names and suffix. This is very permissive so it's good for isolating name parts but doesn't validate whether a string is a reasonable name. |