What’s the difference between () and [] in regular expression patterns?

[] denotes a character class. () denotes a capturing group.

[a-z0-9] — One character that is in the range of a-z OR 0-9

(a-z0-9) — Explicit capture of a-z0-9. No ranges.

a — Can be captured by [a-z0-9].

a-z0-9 — Can be captured by (a-z0-9) and then can be referenced in a replacement and/or later in the expression.

Leave a Comment