what is the argument against it exactly? If you think it's confusing to beginners, don't teach it. If you don't find it useful, don't use it. It solves a problem that some people have used hacky things like <br><br>do { ... } while(false) <br><br>where they break out once the RegEx does what they need. The alternative is a lot of nested if blocks which can get pretty messy.