while (<DATA>) { print; s[ ^ (START) ( | \s.*? ) (END) (*COMMIT) $ ] [ $1 . $2 . 'insert' . $3 ]ex; print; } __DATA__ STARTEND STARTENDEND START SOMETHING END STARTSOMETHINGEND START END START ENDEND STARTSTARTENDEND STARTSTART ENDEND
For comparison here's the other form:
s[ ^ (START) ( | \s (?:(?!END).)* ) (END) $ ] [ $1 . $2 . 'insert' . $3 ]ex;
In reply to Re^8: This regexp made simpler
by rubasov
in thread This regexp made simpler
by rovf
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |