Option 1: With Group Matches
the date is\s*(.*?)\s*the place is\s*(.*?)\s*the people are (.*)
See demo (make sure to look at the Groups in the lower right pane)
It can be tweaked further of course. :)
The idea is that the parentheses capture the text you want into Group 1, Group 2 and Group 3.
This question gives an idea of the syntax to retrieve Group matches in Objective C.
Option 2: Straight Matches, using lookarounds
A bit more unwieldy:
(?<=the date is ).*?(?=\s*the place is)|(?<=the place is ).*?(?=\s*the people are)|(?<=the people are ).*
See the demo