Explain a regular expression

Regular expressions are known to be 'write only': once you've written (and debugged!) them, they work their magic well enough - but unless you're an expert, you''ll always have trouble understanding them at first sight.

That's where this page comes in.

Show me!

Enter a regular expression below and press Explain. We'll try to break it down and show you its structure. Note: not every construct is supported yet (balancing, negative character classes) and the explanation could be prettified, but most regexes should pass through just fine! Work in progress...

Explanation

- Exactly once: One of:
  -1. Exactly once: All of:
      -1.1. Exactly once: Match 'a'
      -1.2. Exactly once: Match 'b'
      -1.3. Exactly once: Match 'c'
  -2. Exactly once: Subexpression named 'test': One or more times: Match '[xyz]'
  -3. Exactly once: All of:
      -3.1. Exactly once: Match 'c'
      -3.2. Exactly once: Match 'b'
      -3.3. Exactly once: Match 'a'