You can get PHP's description of the regular language it uses from the [man]PCRE[/man] section of the manual. For example, square brackets are described under Character Classes.
The main complication is that some characters need to be escaped because they have a special meaning in regexps, and some need to be escaped because they have a special meaning in PHP strings. In [font=monospace]['\"][/font], the double-quote is escaped because it appears in a double-quoted PHP string; not quoting it would cause the string to be ended too early and cause a parse error (try it).
Thing to remember is that the regexp language is a language in its own right; it's not PHP, it's not HTML. For example, [font=monospace]<[/font] and [font=monospace]=[/font] don't mean anything in regular expressions.