[a-z] Any character in range a-z
[0-9] Any digit from range 0-9
[a-zA-Z] Any character from range a-z or A-Z
[abc] a, b or c character
[^abc] Any character except a,b or c
[a-zA-Z0-9] Any alphanumeric character
^ Start of line
$ End of line
\A Start of string
\z End of string
. Any character
\w Any word character (a-z,A-Z,0-9,_)
\W Any non-word character
\d Any digit (0-9)
\D Any non-digit
\s Any whitespace character
\S Any non-whitespace character
\b Word boundary
( ) Capture everything enclosed
(y|z) y or z
p+ At least one p
p* zero or more p's
p? Zero or one p
p{n} Exactly n p's
p{2,3} Two or Three p's
p{2,} At least two p's
^.{2}$ String with exacty 2 characters
I(.*)I String enclosed within I's

i case insensitive  m match against a newline boundary, instead of a string boundary  s a dot metacharacter in the pattern matches all characters, including newlines  x whitespace data characters in the pattern are ignored  A it is constrained to match only at the start of the string which is being searched  D a dollar metacharacter in the pattern matches only at the end of the subject string  U non-greedy matching