# Non-greedy capture of everything from the start of the string, until we see # A whitespace character # followed by a single upper-case letter # followed by an (optional) period # followed by the end of the string /^(.*?)\s[A-Z]\.?$/;