Unfortunately, yours does not meet spec. The OP specifies a desired output of Antler South Street Avebury Wiltshire England Comment Collagen. Your regex outputs Antler South Street, Avebury, Wiltshire, England. Comment Collagen. It would also miss any trailing words, as in "My name is Mike.". As much as it seems like a common sense term, a 'word' is notoriously elusive from a CS perspective.