## Alternation

Vertical bar characters are used to separate alternative patterns. For example, the pattern `gilbert|sullivan` matches either "gilbert" or "sullivan". Any number of alternatives may appear, and an empty alternative is permitted (matching the empty string). The matching process tries each alternative in turn, from left to right, and the first one that succeeds is used. If the alternatives are within a subpattern (defined below), "succeeds" means matching the rest of the main pattern as well as the alternative in the subpattern.

It is possible to record which alternative was matched by using `(*MARK:NAME)` or `(*:NAME)`. Any number of such `(*MARK)` verbs may appear and their names do not have to be unique. When a match succeeds, the name of the last-encountered `(*MARK:NAME)` will be placed among matches as if it were a capture group called `MARK` so it can be read from the `matches` of preg_match() and will be passed to the `callback` of preg_replace_callback() etc.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open