# Match the opening (?> [^<]* ) # Now match any "normal" . . . (?> # Any amount of . . . (?! ) # if not at or , < # match one "special" [^<]* # and then any amount of "normal" )* # # And finally the closing ----------------------------------------------------------------------------- Copyright 1997-2024 Jeffrey Friedl