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.
  
