A metacharacter is a character that has a special meaning (instead of a literal meaning) to a computer program, such as a shell interpreter or a regular expression engine.
In POSIX extended regular expressions,[1] there are 14 metacharacters that must be preceded by a backslash “\” in order to drop their special meaning and be treated literally inside an expression: the open/close square brackets, “[” and “]”; the backslash “\”; the caret “^”; the dollar sign “$”; the period or dot “.”; the vertical bar or pipe symbol “|”; the question mark “?”; the asterisk “*”; the plus-sign “+”; open/close curly braces, “{” and “}”; and open/close parenthesis, “(” and “)“.