Describes ranges of symbols

You can enumerate symbols explicitly

/[abc]/ # 'a' or 'b' or 'c'

Or use ranges

/[a-z]/ # from 'a' to 'z'

It is possible to combine ranges and single symbols

/[a-cz]/ # 'a' or 'b' or 'c' or 'z'

Leading dash (\\-) is treated as charachter

/[-a-c]/ # '-' or 'a' or 'b' or 'c'

Classes can be negative when preceding symbols with ^

/[^a-c]/ # Not 'a', 'b' or 'c'

There are some shortcuts for widespread classes and special charachters, plus line endings

^  # Start of line
$  # End of line
\\A # Start of string
\\Z # End of string, excluding any new line at the end of string
\\z # End of string
.  # Any single character
\\s # Any whitespace character
\\S # Any non-whitespace character
\\d # Any digit
\\D # Any non-digit
\\w # Any word character (letter, number, underscore)
\\W # Any non-word character
\\b # Any word boundary

\\n will be understood simply as new line

To escape any reserved charachter, such as / or [] and others use backslash (left slash)

\\\\ # => \\
\\[\\] # => []