m[ <% # Opening delimiter. (?: # Match stuff that isn't a closing delim: [^%] # Can't start one. | %(?!>) # Might start one but isn't one. )* # As many non-closing-delims as you like. %> # Closing delimiter. ]x