(?:…)
Non-capturing group - group subpattern, but don’t capture the match. Example: (?:foo)bar matches foobar and doesn’t capture anything
(…)
Capturing group - group subpattern and capture the match. Example: (foo)bar matches foobar and captures foo
…|…
Alternation operator - matches one of the alternative subppatterns. Example: foo|bar|baz matches either foo, bar or baz