There is nothing good for this. You could easily match three occurrences of any of the words:
(?:\b(?:one|two|three)\b.*){3}
but it matches βone oneβ as easily as βone two threeβ.
You can use lookahead statements like the Gumbo description. Or you can write permutations, for example:
(?\bone\b.*\btwo\b.*\bthree\b|\btwo\b.*\bone\b.*\bthree\b|\bone\b.*\bthree\b.*\btwo\b|\bthree\b.*\bone\b.*\btwo\b|\bthree\b.*\btwo\b.*\bone\b|\btwo\b.*\bthree\b.*\bone\b)
which is obviously terrible.
In short, it is much better to make three separate matches.
chaos source share