Allow regexp-like alternation in glob patterns

So for example, a glob of "/a/b/*|/c/d/*"
compiles to "^(/a/b/[^/]*|/c/d/[^/]*)$"