For your example, you are using words like 'start' and 'end' as de-limiters. Is this really the case, or just for explanation?
Using words to de-limit does makes it MUCH harder, so if you have the choice, it's better to use characters that definitely won't show up in the text you are searching.
The standard regex pattern for de-limiters works like:
"opening de-limiter" + "NOT closing de-limiter" + "closing de-limiter"
So, if you were using "<" and ">" as de-limiters then the pattern would be:
/<([>]+)>/
// Basic use
preg_match("/<([>]+)>/", $text, $matches);
echo "matched text is: ".$matches[1]";