Because it's done with lookaheads, the last example works with strings in either order. That is, in fact, why it is done with lookaheads. In my mind, lookaheads like this are the "and" that complements alternation's "or" in regexen.
Caution: Contents may have been coded under pressure.