in reply to Single string pattern match

I don’t want to write 3 if conditions
Why not? It's simpler, and likely to be more efficient than the look ahead solution.

But say you want to look for substrings foo, bar and oba. Should foobar be a valid match? It contains all three substrings, but not without overlap.