Sorry, my mistake. Original if(/start/ .. (/end/ && !(/start/../end/))) replaced with if(/start/ .. (!(/start/../end/) && /end/))
And description changed to:
take everything between /start/ and (/end/ which is not inside other /start/ .. /end/ block)