UPDATE: My sexeger can behave badly on strings with multiple periods in them. Two natural changes are to make the \S+ match non-greedy, or to change \S to [^.]. These have different matching behaviour, especially on strings with characters that are neither spaces nor 'word' characters, and on strings with multiple periods; but one of them might do what the poster wants.
Also, I changed the sample string to one that actually matches.
UPDATE 2: Oops, on re-reading, the poster explicitly wants to allow strings without any periods at all. Never mind.